Command-line interface
The baha CLI is BaseHarbor's primary human interface.
This documentation follows the actual command surface and groups commands by responsibility instead of presenting one undifferentiated command dump.
Start here
For the normal application workflow, begin with:
baha new application
baha init
baha up
baha status
baha doctor
baha down
CLI sections
- Core workflow — start, stop, inspect, plan, diagnose and destroy.
- Applications — create, adopt and operate applications.
- Targets — deployment targets and runtime selection.
- Providers — bundled, external/BYO and provider authoring.
- Development — Stack Profiles, workspace and developer access.
- Organization and policy — organization defaults, configuration and policy.
- Security and trust — trust, login and connection security.
- Automation and agents — JSON, MCP and agent-facing surfaces.
- Shell and UX — completion, shell integration, prompt and TUI.
- Global options — options accepted across commands.
Documentation contract
Each command section should answer the same questions:
- What does this command do?
- When should I use it?
- What is the syntax?
- Which options materially change behavior?
- Is it read-only, mutating or destructive?
- How does non-interactive use differ from interactive use?
- Is there equivalent JSON/MCP behavior?
- What are the common failure modes?
- What is the safest next action?
Full installation destruction displays the exact application reset plans inside the aggregate plan. Two acknowledgements and separate data consent apply to that displayed scope. Each child owner is checked again before execution; changed child consequences fail with preserved retry state. Generic approval does not authorize another application plan.