Back to Oh My Openagent

CLI Reference

docs/reference/cli.md

4.7.58.1 KB
Original Source

CLI Reference

Complete reference for the published CLI package. During the rename transition, both package names work:

  • oh-my-openagent (preferred package name)
  • oh-my-opencode (compatibility package name)

Plugin registration inside opencode.json prefers oh-my-openagent.

Bin Commands

All published packages expose the same compiled CLI with these bin entries:

  • oh-my-opencode (legacy name, still primary)
  • oh-my-openagent (renamed primary)
  • omo (short alias, recommended in docs and prompts)
  • lazycodex-ai (Light edition shortcut; lazycodex-ai install is equivalent to omo install --platform=codex unless --platform is explicitly overridden)

Basic Usage

bash
# Display help (preferred package)
bunx oh-my-openagent

# Compatibility package
bunx oh-my-opencode

Commands

CommandDescription
installInteractive setup wizard
doctorInstallation health diagnostics
run <message>Non-interactive OpenCode session runner with completion enforcement
get-local-versionShow current installed version and check for updates
refresh-model-capabilitiesRefresh cached model capabilities snapshot from models.dev
boulderInspect Sisyphus boulder work-state (active plan, per-task timers, session lineage)
versionShow CLI version
mcp oauthOAuth token management for MCP servers

install

Interactive installation tool for initial setup.

Usage

bash
bunx oh-my-openagent install

Options

OptionDescription
--no-tuiRun in non-interactive mode (requires all needed options)
--platform <value>Install target edition: opencode (Ultimate, default), codex (Light), or both
--claude <value>Claude subscription: no, yes, max20 (Ultimate only)
--openai <value>OpenAI/ChatGPT subscription: no, yes (Ultimate only)
--gemini <value>Gemini integration: no, yes (Ultimate only)
--copilot <value>GitHub Copilot subscription: no, yes (Ultimate only)
--opencode-zen <value>OpenCode Zen access: no, yes (Ultimate only)
--zai-coding-plan <value>Z.ai Coding Plan subscription: no, yes (Ultimate only)
--kimi-for-coding <value>Kimi For Coding subscription: no, yes (Ultimate only)
--opencode-go <value>OpenCode Go subscription: no, yes (Ultimate only)
--vercel-ai-gateway <value>Vercel AI Gateway: no, yes (Ultimate only)
--codex-autonomousConfigure Codex with approval_policy = "never", sandbox_mode = "danger-full-access", and network_access = "enabled" when installing Light or Both
--no-codex-autonomousLeave existing Codex permission settings unchanged when installing Light or Both
--skip-authSkip authentication setup hints

When using the lazycodex-ai bin alias, install defaults to --platform=codex. lazycodex-ai is only the npm/bin alias; lazycodex is the marketplace repository name. The Codex config uses marketplace sisyphuslabs and plugin omo, enabled as omo@sisyphuslabs, with the marketplace source set to the local built cache under ~/.codex/plugins/cache/sisyphuslabs.

Subscription flags (--claude, --openai, etc.) only apply when --platform is opencode or both. They are rejected under --platform=codex because the Light edition does not write OpenCode model config. --codex-autonomous and --no-codex-autonomous only affect installs where the selected platform includes Codex.

Telemetry and opt-out

Anonymous telemetry uses PostHog with a hashed installation identifier. Two streams exist:

  • omo_daily_active: fired by the main plugin and oh-my-openagent run.
  • omo_codex_daily_active: fired by omo install --platform=codex or --platform=both (reason: "install_completed") and by the Codex plugin's SessionStart hook on every Codex session (reason: "session_start"). Both sources share the same UTC-day deduplication, so daily/weekly/monthly active counts reflect real Codex usage, not just install events.

Opt-out env vars:

  • Global opt-out for oh-my-openagent and omo-codex: OMO_SEND_ANONYMOUS_TELEMETRY=0 or OMO_DISABLE_POSTHOG=1
  • Codex-only opt-out for omo_codex_daily_active: OMO_CODEX_SEND_ANONYMOUS_TELEMETRY=0 or OMO_CODEX_DISABLE_POSTHOG=1

For the full Codex Light event inventory, collected properties, local state path, and lazycodex marketplace copy path, see Codex Light telemetry.


doctor

Diagnoses your environment and configuration. Checks are grouped into four categories: System, Config, Tools, and Models.

Usage

bash
bunx oh-my-openagent doctor

Options

OptionDescription
--statusShow compact system dashboard
--verboseShow detailed diagnostic information
--jsonOutput results in JSON format

Notes

  • The current minimum OpenCode version check is >= 1.4.0.
  • The doctor command warns when legacy plugin registration (oh-my-opencode) is still present in opencode.json.

run

Runs a non-interactive session and exits only when both conditions are true:

  • all todos are completed or cancelled
  • all background child sessions are idle

Usage

bash
bunx oh-my-openagent run <message>

Options

OptionDescription
-a, --agent <name>Agent to use (default resolution chain applies)
-m, --model <provider/model>Model override (example: anthropic/claude-sonnet-4)
-d, --directory <path>Working directory
-p, --port <port>Server port (attaches if already in use)
--attach <url>Attach to an existing OpenCode server URL
--on-complete <command>Run shell command after completion
--jsonOutput structured JSON result
--no-timestampDisable timestamp prefix in output
--verboseShow full event stream (default: messages/tools only)
--session-id <id>Resume an existing session

Agent Resolution Order

  1. --agent
  2. OPENCODE_DEFAULT_AGENT
  3. default_run_agent in plugin config
  4. Sisyphus

get-local-version

Shows local plugin version state and update status.

Usage

bash
bunx oh-my-openagent get-local-version

Options

OptionDescription
-d, --directory <path>Working directory used for plugin/config detection
--jsonOutput JSON for scripting

refresh-model-capabilities

Refreshes the cached model capabilities snapshot from models.dev.

Usage

bash
bunx oh-my-openagent refresh-model-capabilities

Options

OptionDescription
-d, --directory <path>Working directory used to read plugin config
--source-url <url>Override models.dev source URL
--jsonOutput refresh summary as JSON

Configuration

jsonc
{
  "model_capabilities": {
    "enabled": true,
    "auto_refresh_on_start": true,
    "refresh_timeout_ms": 5000,
    "source_url": "https://models.dev/api.json"
  }
}

version

Shows CLI package version.

Usage

bash
bunx oh-my-openagent version

mcp oauth

OAuth token management for MCP servers (Tier-3 MCP OAuth flow, including PKCE and dynamic client registration when supported by the server).

Usage

bash
# Authenticate
bunx oh-my-openagent mcp oauth login <server-name> --server-url https://api.example.com

# Authenticate with explicit client ID and scopes
bunx oh-my-openagent mcp oauth login <server-name> --server-url https://api.example.com --client-id my-client --scopes read write

# Remove stored tokens
bunx oh-my-openagent mcp oauth logout <server-name> --server-url https://api.example.com

# Show token status
bunx oh-my-openagent mcp oauth status [server-name]

Options

OptionDescription
--server-url <url>OAuth server URL (required by login, and required by logout)
--client-id <id>OAuth client ID (optional if server supports DCR)
--scopes <scopes...>OAuth scopes as variadic values

Exit Codes

  • 0 on success
  • 1 on failure

run, install, doctor, get-local-version, refresh-model-capabilities, and mcp oauth subcommands return explicit numeric exit codes.