Skip to Content
CLI

Bahama CLI

The bahama CLI is the safe execution layer behind the agent experience. Your coding agent uses it to inspect the workspace, read provider capabilities, compile exact plans, operate provider resources, and verify live results.

You do not need to memorize its commands. The installed Bahama skill teaches your agent when to use each one and when to pause for you.

One interface across providers

The same small command set works whether the project uses Bahama Cloud, Vercel, Neon, local development, or a future provider:

bahama inspect --json bahama providers --format agent bahama plan bahama apply plan_7f4c9b21a3d0 --approved bahama deploy production bahama status --json

Provider-specific behavior stays behind a common workflow. Your agent does not have to invent a new safety model for every service.

Readable by default, structured when needed

Normal output is concise and designed to be understandable by both people and coding agents. It includes the current status, accounts, plan steps, warnings, and a concrete next action.

With --json, a command emits one versioned result envelope. The human and JSON views come from the same object, so they cannot disagree about what happened.

Your agent usually needs structured output for inspect, status, or detailed diagnostics—not for every routine command.

Workflow states are not crashes

StatusMeaning
succeededThe command completed and required postconditions were verified
decision_requiredBahama found a real choice it refuses to guess
installation_requiredA selected provider tool is missing
auth_requiredA provider session needs your attention
approval_requiredThe plan contains consequential work for you to review
in_progressA remote operation has not reached a final state
failedAn operation or verification failed and includes recovery guidance

Expected workflow states exit successfully at the process level. Agents read the reported status instead of treating every exit code 0 as “finished.”

No hidden prompts

Planning, status, and normal execution commands do not open a browser or wait for secret terminal input. Missing tools, account choices, authentication, and approval return explicit typed results.

Authentication is the deliberate exception: when your agent runs bahama auth login <provider>, the provider’s official consent flow can become interactive for you.

The supported public interface is the bahama executable and its result protocol. The npm package bundles the engine and official providers; it is not a JavaScript library for embedding into application code.

Last updated on