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.
See every command, argument, option, result status, and exit code.
Plans and operationsUnderstand approval, plan integrity, verified execution, secrets, and resume.
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 --jsonProvider-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
| Status | Meaning |
|---|---|
succeeded | The command completed and required postconditions were verified |
decision_required | Bahama found a real choice it refuses to guess |
installation_required | A selected provider tool is missing |
auth_required | A provider session needs your attention |
approval_required | The plan contains consequential work for you to review |
in_progress | A remote operation has not reached a final state |
failed | An 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.