Skip to content

Quickstart

This page is the shortest first-run path: install, authenticate, start a session, make a safe first edit, and learn enough of the mental model to keep going. Each step links to fuller reference pages when you need more detail.

  1. Install BMO

    BWO stable v2.1.0 provides BMO binary builds for authorized BWO repository readers. Select your OS/architecture, verify its complete SHA-256 digest, and follow the version-specific installation notes. The executable remains bmo; bmo --version should report bmo version v2.1.0. Preview and nightly remain empty.

    Full details: Installation

  2. Set your API key

    The simplest way is to export it in the same terminal you will use to start BMO:

    Terminal window
    export ANTHROPIC_API_KEY=sk-ant-...

    Or set it in your shell profile so it’s always available. See Authentication for all supported providers.

    Verify it worked: Run test -n "$ANTHROPIC_API_KEY" && echo "ANTHROPIC_API_KEY configured" — it should print the confirmation without revealing the secret. If it prints nothing, re-export or check your shell profile.

  3. Start BMO in your project

    Terminal window
    cd your-project
    bmo

    BMO opens the interactive TUI. On first run you’ll be prompted for an API key if none is set.

    What you should see: The TUI launches with a prompt input area and a sidebar. If the API key is missing, BMO shows a key-entry prompt instead.

    Recovery: Press ctrl+c or type /quit to exit BMO at any time. Tool actions follow the active policy and permission grants; some can run without a new prompt.

  4. Initialize the project context

    Type /init to have BMO ask the agent to analyze your codebase and create or refresh the configured project context file (AGENTS.md by default). This improves response quality in new sessions in that project.

    /init

    What you should see: BMO starts an initialization run that analyzes the project and proposes or writes the configured context file in the project root (or configured path).

    Verify it worked: Check that the configured context file exists and contains a project summary.

    Review: Inspect the context-file diff. If the file already existed, preserve its prior content and unrelated edits when undoing changes. Delete it only if this run created it and you do not want to keep it.

  5. Ask your first question

    Switch to /mode chat to use a mode without file-editing or shell tools, then try understanding your codebase:

    What does this project do?
    Where is the main entry point?
    What are the most important files I should know about?

    What you should see: BMO streams a conversational answer describing your project. Chat mode limits the available tools; asking a read-only question by itself does not change tool permissions.

  6. Make a safe first change

    Switch to /mode code, then start with a small reversible workspace change:

    Create scratch/bmo-first-edit.md with a one-paragraph summary of what this project does

    What you should see: BMO requests a file-writing tool. Depending on your policy and existing grants, it may ask for approval or execute directly. Review the resulting file and diff.

    You and the agent share the same workspace — there is no separate staging area or hidden branch.

    Save session state: Open the Sessions dialog, select the session, then press ctrl+k to create a checkpoint. To restore one later, press ctrl+e to open that session’s Checkpoints list, then press Enter (or r) on the checkpoint you want. A successful restore rewinds conversation history, todos, and session file-history/read-file state when retained transcript identity still matches; it refuses when that prefix is missing or changed. It does not restore files on disk; use version control or backups for file recovery. See Sessions.

    Undo a file change: For the scratch file above, delete it. For a tracked file, use git diff <file> first. Restore only that file after confirming it contains no unrelated edits: git restore -- <file>.

CommandWhat it does
/newStart a fresh session
/sessionSwitch between sessions
/modelSwitch AI model mid-session
/mode [code|chat|coordinator|review|debug|plan|sre]Change session mode
/summarizeCompact context when it gets long
/thinkingToggle extended reasoning
/helpOpen the Commands palette for /tools and /capabilities discovery
/slash-statusInspect slash discovery posture and recent routing outcomes when slash behavior seems surprising
/toolsOpen the Commands palette on the Tools tab
/packOpen the operating pack picker for session overlays such as cautious, delivery, or workspace sensing
/capabilitiesShow what BMO can do
/reviewRun the built-in code review command
/pr-readyRun the built-in pre-merge readiness check
/quitExit BMO

From inside BMO, press ctrl+p (or type /) to open the Commands palette, then choose Docs (or type /docs). That opens the Quickstart guide in your default browser.

KeyWhat it does
ctrl+pOpen the slash command picker
ctrl+mOpen the model picker
ctrl+sSwitch sessions
shift+tabCycle session modes
ctrl+lToggle the sidebar
escInterrupt the active run
Terminal window
bmo run "Summarize the README and identify the project entry points"

What you should see: BMO prints its progress and final output to stdout, then exits with code 0 on success. Use echo $? to check the exit code.

For tasks requiring writes, configure permissions deliberately; a headless request that needs an interactive approval is refused when no approval listener is available. See Automation.

Resume an existing session with bmo --session-id <id> or use /session in the TUI. To continue without the TUI, use bmo run --session-id <id> "Continue the task".

Three things matter early:

  • Shared workspace. You and the agent operate against the same files, session state, and data directory. Edits are real edits.
  • Tools are explicit. File reads, shell commands, LSP actions, and everything else happen through named capabilities that you can inspect.
  • Modes shape behavior. Session modes shape tool availability and how BMO approaches the task.

For the full mental model, read How BMO Thinks and Acts.

Contributing to BMO itself requires access to the source tree. Use CONTRIBUTING.md there for the first local build and validation commands.