Start typing to search the documentation.

CLI navigation

Commands

Every command accepts --help for its full flag list, for example opencode run --help. Some server-backed commands accept --standalone to run a private server or --server <url> to target a specific one; check the command’s help for its supported flags.

run

Sends a message and prints the reply without opening the interactive interface.

$ opencode run "Explain this repository"

CI

In CI, pass a provider API key as a secret and use standalone mode so the private server receives it. For example, this GitHub Actions job reviews the checked-out repository:

name: OpenCode review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install --global @opencode/cli
      - run: opencode run --standalone --model anthropic/claude-sonnet-4-5 "Review this repository for correctness and summarize any issues."
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

Choose a model.

$ opencode run --model anthropic/claude-sonnet-4-5 "Refactor parseToken"

Continue the last session.

$ opencode run --continue "Now handle the expired case"

Emit newline-delimited JSON for scripts.

$ opencode run --format json "List the TODO comments"

Attach files to the message.

$ opencode run --file src/server.ts --file src/client.ts "Review these for bugs"

Run with a specific agent.

$ opencode run --agent build "Fix the failing test"

View all subcommands and flags.

$ opencode run --help

mini

Starts the minimal interactive interface instead of the full-screen TUI.

$ opencode mini

Continue the last session.

$ opencode mini --continue

Start with a model and an initial prompt.

$ opencode mini --model anthropic/claude-sonnet-4-5 --prompt "Summarize this repository"

View all subcommands and flags.

$ opencode mini --help

session

Manages sessions.

$ opencode session list

Limit the list and print JSON.

$ opencode session list --max-count 20 --format json

Delete a session and its child sessions.

$ opencode session delete ses_9c1b08

Export session data as JSON.

$ opencode session export ses_4f2a1c

Redact sensitive transcript and file data when exporting.

$ opencode session export ses_4f2a1c --sanitize

Import session data from a JSON file or URL.

$ opencode session import session.json

Import into a specific directory.

$ opencode session import session.json --directory ~/code/project

View all subcommands and flags.

$ opencode session --help

auth

Manages AI providers and credentials.

$ opencode auth list

List them as JSON.

$ opencode auth list --format json

Log in to a provider.

$ opencode auth login anthropic

Log in with a specific authentication method.

$ opencode auth login anthropic --method key

Log out of a saved account.

$ opencode auth logout anthropic work

Switch the active account for an integration.

$ opencode auth switch anthropic work

View all subcommands and flags.

$ opencode auth --help

models

Lists every available model.

$ opencode models

View all subcommands and flags.

$ opencode models --help

mcp

Manages MCP (Model Context Protocol) servers.

$ opencode mcp list

Add a remote server.

$ opencode mcp add context7 --url https://mcp.context7.com/mcp

Add a local server to the global config.

$ opencode mcp add everything --global -- npx -y @modelcontextprotocol/server-everything

Add a local server with an environment variable.

$ opencode mcp add everything --env LOG_LEVEL=debug -- npx -y @modelcontextprotocol/server-everything

Add a remote server with a header.

$ opencode mcp add context7 --url https://mcp.context7.com/mcp --header CONTEXT7_API_KEY=secret

Authenticate with an OAuth-capable remote server.

$ opencode mcp auth sentry

Remove stored OAuth credentials for a server.

$ opencode mcp logout sentry

View all subcommands and flags.

$ opencode mcp --help

plugin

Manages plugins.

$ opencode plugin list

Include built-in server plugins.

$ opencode plugin list --builtin

Install a plugin and add it to the global configuration.

$ opencode plugin add @example/opencode-tui

Check package plugins for updates.

$ opencode plugin check

Update package plugins.

$ opencode plugin update

Remove a plugin from global configuration.

$ opencode plugin remove @example/opencode-tui

View all subcommands and flags.

$ opencode plugin --help

stats

Shows shareable usage statistics.

$ opencode stats

Show the last 7 days.

$ opencode stats --days 7

Show model usage.

$ opencode stats --models

Show cost and token details.

$ opencode stats --cost

Print JSON instead of a report.

$ opencode stats --json

View all subcommands and flags.

$ opencode stats --help

serve

Starts the API and web server. See Web.

$ opencode serve

Bind to all interfaces on a fixed port.

$ opencode serve --hostname 0.0.0.0 --port 4096

Allow a browser client from another origin.

$ opencode serve --cors https://app.example.com

View all subcommands and flags.

$ opencode serve --help

pair

Prints one-time links, plus a QR code of the first one, that sign a browser or app in to the server. Links expire after 5 minutes and work once.

$ opencode pair

Use an external URL in the links.

$ opencode pair --url https://dev.example.com

Pair from anywhere through an OpenTunnel remote address. This exposes the server to the internet, so the first time it enables remote access it explains this and asks you to accept. See Remote access.

$ opencode pair --remote

Accept without a prompt, for example in a script without a terminal.

$ opencode pair --remote --yes

View all subcommands and flags.

$ opencode pair --help

service

Manages the background server. See Web.

$ opencode service start

Restart it.

$ opencode service restart

Show its status.

$ opencode service status

Stop it.

$ opencode service stop

Read a setting.

$ opencode service get hostname

Set a setting.

$ opencode service set hostname 0.0.0.0

Allow an extra CORS origin.

$ opencode service set cors https://app.example.com

Pass an environment variable to the server process.

$ opencode service set env OPENCODE_LOG_LEVEL DEBUG

Reset a setting to its default.

$ opencode service unset hostname

View all subcommands and flags.

$ opencode service --help

reload

Reloads configuration without restarting the server. Running sessions continue with fresh services at the next step boundary.

$ opencode reload

api

Makes a request to the running server.

$ opencode api GET /api/session

Call an operation ID with a query parameter.

$ opencode api session.list --param limit=10

Send a JSON body.

$ opencode api session.create --data '{"title": "New session"}'

Add a request header.

$ opencode api GET /api/session -H "accept: application/json"

View all subcommands and flags.

$ opencode api --help

acp

Starts an Agent Client Protocol server over stdin and stdout for editor integrations. It runs until the client closes the connection.

$ opencode acp

View all subcommands and flags.

$ opencode acp --help

debug

Provides debugging and troubleshooting tools.

$ opencode debug agents

List configuration sources.

$ opencode debug config

Show global paths.

$ opencode debug paths

Print a single path.

$ opencode debug paths db

View all subcommands and flags.

$ opencode debug --help

upgrade

Upgrades OpenCode to the latest or a specific version. Alias: update.

$ opencode upgrade

Upgrade to a specific version with a specific package manager.

$ opencode upgrade 2.0.21 --method bun

View all subcommands and flags.

$ opencode upgrade --help

uninstall

Removes OpenCode and all related files.

$ opencode uninstall

Preview what would be removed.

$ opencode uninstall --dry-run

View all subcommands and flags.

$ opencode uninstall --help