Skip to main content
Bolt exposes a single bolt binary with a rich set of subcommands. Running bolt with no arguments opens the full terminal UI. All other subcommands are listed below. Use bolt <command> --help at any time for inline help.
Opens the interactive terminal UI in the current directory. Bolt automatically discovers your project context, loads configuration, and connects to any configured providers.
Global flags — available on every command:
Run Bolt with a single prompt in non-interactive mode. Bolt starts an in-process server, sends the prompt to the active session, streams the response to stdout, then exits. Pipe stdin or pass --file to attach context.
Attach the full TUI to a running Bolt server. The server can be local or remote. Pass --mini to use the minimal split-footer UI instead of the full TUI.
Start a headless Bolt API server. The server exposes a REST+SSE API that the TUI, bolt run --attach, and bolt attach can connect to. Bind on 0.0.0.0 to make it reachable from other machines — always set BOLT_SERVER_PASSWORD when doing so.
BOLT_SERVER_PASSWORD is not set by default. The server will log a warning and accept all connections until you set it.
Start the Bolt server and immediately open the web UI in your default browser. Accepts the same network flags as bolt serve.
Manage Bolt sessions stored in the local SQLite database.Subcommands
bolt session list flags
List and create custom agents. Agents are markdown files with YAML frontmatter that define a system prompt, permissions, and mode.
bolt agent create flags
Interactively manage AI provider credentials. Credentials are stored in your OS data directory (~/.local/share/bolt/auth.json on Linux, ~/Library/Application Support/bolt/auth.json on macOS).
List all models available from your configured providers.
Manage Model Context Protocol (MCP) servers. Bolt supports both remote (HTTP/SSE) servers with OAuth and local (stdio) servers.
bolt mcp add flags
Install a Bolt plugin from npm and update the relevant config file. Plugins can extend the TUI, add new slash-commands, or register new providers.
Manage the Bolt GitHub Actions integration, which allows Bolt to respond to pull requests, issues, and other GitHub events.
bolt github run flags
Check out a GitHub pull request as a local branch using the gh CLI, then launch Bolt in the checked-out directory. If the PR description contains a session share link, Bolt imports that session automatically.
This command requires the GitHub CLI (gh) to be installed and authenticated.
Generate a commit message for staged (or all tracked) changes using an AI model and then commit. The model inspects recent commit history for style context.
Run an AI code review on a diff and exit with code 0 (pass) or 1 (fail). The code-review agent examines the diff for correctness, style, and security issues, then emits a Verdict: PASS or Verdict: FAIL line.
Exit codes: 0 = PASS, 1 = FAIL, 2 = verdict could not be determined.
Export a session as JSON to stdout. Useful for archiving, sharing, or feeding into other tools. Pass --sanitize before sharing publicly to redact file paths, prompts, and other sensitive transcript content.
Import a previously exported session into the local database. Accepts either a local JSON file or a session share URL.
Display aggregate token usage and cost statistics across all sessions. Output includes an overview table, cost and token breakdown, model usage, and a tool usage bar chart.
Print the Bolt application log. The log is stored at the OS log directory (e.g. ~/.local/state/bolt/opencode.log).
Query or inspect the local SQLite session database directly.
Upgrade Bolt to the latest release or a specific version. Bolt detects the installation method automatically and uses the appropriate package manager.
Remove the Bolt binary and all associated data.
Generate a shell completion script for bash, zsh, or fish.
A collection of troubleshooting and introspection subcommands. Useful when filing bug reports or diagnosing unexpected behavior.
Start an ACP (Agent Client Protocol) server. ACP is the protocol used by editor integrations such as Zed to communicate with Bolt over stdin/stdout.