OpenClaw CLI Reference: Commands and Global Flags

This index lists all OpenClaw CLI commands, global flags, and output formatting conventions. It is essential for developers and administrators who need to configure, manage, or automate OpenClaw installations.

Read this when

  • Finding the right `openclaw` subcommand
  • Looking up global flags or output styling rules

openclaw serves as the primary CLI entry point. Every core command either has its own dedicated reference page or is covered alongside the command it aliases; this index enumerates the commands, global flags, and output formatting conventions shared across the entire CLI.

Commands grouped by their intended use:

  • openclaw setup and openclaw onboard start by checking inference, then launch OpenClaw to handle Gateway, workspace, channels, skills, and health configuration.
  • openclaw setup --baseline produces the initial config and workspace without taking you through the guided onboarding steps.
  • openclaw configure modifies specific elements of an existing installation: model authentication, gateway, channels, plugins, or skills.
  • openclaw channels add sets up channel accounts once the baseline is in place; picking a channel alone triggers guided setup, whereas account, credential, or channel-config flags follow the direct path intended for scripting.

Command pages

AreaCommands
Setup and onboardingopenclaw · setup · onboard · configure · config · completion · doctor · dashboard
Reset, backup, and migrationbackup · migrate · reset · uninstall · update
Messaging and agentsmessage · agent · agents · attach · acp · mcp
Health and sessionsstatus · health · triage · sessions · resume · audit
Gateway and logsgateway · logs · system
Models and inferencemodels · promos · infer · capability (shortcut for infer) · memory · wiki
Network and nodesdirectory · nodes · devices · node · worker
Runtime and sandboxapprovals · exec-policy (refer to approvals) · sandbox · tui · chat/terminal (shortcuts for tui --local) · browser
Automationcron · tasks · hooks · webhooks · transcripts
Discovery and docsdns · docs
Pairing and channelspairing · qr · channels
Security and pluginssecurity · secrets · skills · plugins · proxy
Legacy aliasesdaemon (gateway service) · clawbot (namespace)
Plugins (optional)path · policy · voicecall · workboard (if installed)

Global flags

FlagPurpose
--devKeep state separate under ~/.openclaw-dev, use gateway port 19001 by default, and recalculate dependent ports
--profile <name>Separate state under ~/.openclaw-<name> (OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH)
--container <name>Execute the CLI within a running Podman/Docker container identified as <name> (fallback: env OPENCLAW_CONTAINER)
--log-level <level>Set the global log level for both file and console output
--no-colorTurn off ANSI colors (NO_COLOR=1 is honored as well)
--updateShort form of openclaw update; applies to source checkouts and package installs alike
-V, --version, -vShow version details and terminate

When a profile is named via --profile, the standard state and config paths that would otherwise be inherited from another profile are replaced, and this includes any running Gateway service. Paths for state and config that were explicitly customized are left untouched.

Output modes

  • TTY sessions are the only place where ANSI colors and progress indicators appear.
  • OSC-8 hyperlinks show up as clickable links when the terminal supports them; otherwise, the CLI presents them as regular URLs.
  • For bounded reporting commands, --json keeps stdout free for a single JSON document; styling and progress output are disabled, and warnings plus diagnostics go to stderr.
  • Commands that run interactive UIs or wizards, long-lived servers and streams, shell integration, or pure side-effect operations may skip --json if there is no meaningful report to deliver.
  • A progress indicator (OSC 9;4 when available) is displayed during long-running commands.

JSON failures

Each successful JSON payload is specific to its command. If a command running in JSON output mode encounters a failure, it returns a nonzero exit code and emits a single JSON document on stdout using this envelope:

{
  "ok": false,
  "error": {
    "type": "cli_error",
    "message": "Description of the failure"
  }
}

Domain-specific fields, such as results for individual items, can be added alongside this envelope by the command. Failure messages are cleaned up before output. Human-readable diagnostics may still appear on stderr, so scripts should parse stdout while also verifying the exit status.

Color palette

For CLI output, OpenClaw relies on a lobster color palette:

TokenHexUsed for
accent#FF5A2DHeadings, labels, primary highlights
accentBright#FF7A3DCommand names, emphasis
accentDim#D14A22Secondary highlight text
info#FF8A5BInformational values
success#2FBF71Success states
warn#FFB020Warnings, option flags, fallbacks
error#E23D2DErrors, failures
muted#8B7F77De-emphasis, metadata

The palette's authoritative definition lives in packages/terminal-core/src/palette.ts.

Command tree

Full command tree

This reference outlines the main commands and their key subcommands. Subcommands introduced by plugins, such as those under skills, plugins, and wiki, change on their own schedule; to get the definitive and up-to-date listing, execute <command> --help.

openclaw [--dev] [--profile <name>] <command>
  openclaw
  setup
  onboard
  configure
  config
    get
    set
    patch
    unset
    file
    schema
    validate
  completion
  doctor
  triage
  dashboard
  backup
    create
    verify
    restore
    sqlite
      create
      list
      verify
      restore
    git
      init
      create
      log
      verify
      restore
    enable
    disable
  migrate
    list
    plan <provider>
    apply <provider>
  security
    audit
  secrets
    reload
    audit
    configure
    apply
  reset
  uninstall
  update
    wizard
    status
    repair
  channels
    list
    status
    capabilities
    resolve
    logs
    add
    remove
    login
    logout
  directory
    self
    peers list
    groups list|members
  skills
    search
    install
    update
    verify
    workshop list|inspect|propose-create|propose-update|revise|apply|reject|quarantine
    list
    info
    check
  plugins
    list
    search
    inspect
    install
    uninstall
    update
    enable
    disable
    doctor
    build
    validate
    init
    registry
    marketplace list|entries|refresh
  workboard
    list
    create
    show
    dispatch
  memory
    status
    index
    search
  transcripts
    list
    show
    path
  path
    resolve
    find
    set
    validate
    emit
  wiki
    status
    doctor
    init
    compile
    lint
    ingest
    okf import
    search
    get
    apply synthesis|metadata
    bridge import
    unsafe-local import
    chatgpt import|rollback
    obsidian status|search|open|command|daily
  message
    send
    broadcast
    poll
    react
    reactions
    read
    edit
    delete
    pin
    unpin
    pins
    permissions
    search
    thread create|list|reply
    emoji list|upload
    sticker send|upload
    role info|add|remove
    channel info|list
    member info
    voice status
    event list|create
    timeout
    kick
    ban
  agent
  agents
    list
    add
    delete
    bindings
    bind
    unbind
    set-identity
  attach
  acp
  mcp
    serve
    list
    show
    set
    unset
  status
  health
  sessions
    cleanup
  audit
  tasks
    list
    audit
    maintenance
    show
    notify
    cancel
    flow list|show|cancel
  gateway
    call
    usage-cost
    health
    stability
    diagnostics export
    status
    probe
    discover
    install
    uninstall
    start
    stop
    restart
    run
  daemon
    status
    install
    uninstall
    start
    stop
    restart
  logs
  system
    event
    heartbeat last|enable|disable
    presence
  models
    list
    status
    set
    set-image
    aliases list|add|remove
    fallbacks list|add|remove|clear
    image-fallbacks list|add|remove|clear
    scan
    auth list|add|login|setup-token|paste-token|paste-api-key|login-github-copilot
    auth order get|set|clear
  promos
    list
    claim <slug>
  infer (alias: capability)
    list
    inspect
    model run|list|inspect|providers|auth login|logout|status
    image generate|edit|describe|describe-many|providers
    audio transcribe|providers
    tts convert|voices|personas|providers|status|enable|disable|set-provider|set-persona
    video generate|describe|providers
    web search|fetch|providers
    embedding create|providers
  sandbox
    list
    recreate
    explain
  cron
    status
    list
    get
    add
    edit
    rm
    enable
    disable
    runs
    run
  nodes
    status
    describe
    list
    pending
    approve
    reject
    rename
    invoke
    notify
    push
    canvas present|hide|navigate
    camera list|snap|clip
    screen record
    location get
  devices
    list
    remove
    clear
    approve
    reject
    rotate
    revoke
  node
    run
    status
    install
    uninstall
    stop
    restart
  worker
  approvals
    get
    set
    allowlist add|remove
  exec-policy
    show
    preset
    set
  browser
    status
    start
    stop
    reset-profile
    tabs
    open
    focus
    close
    profiles
    create-profile
    delete-profile
    screenshot
    snapshot
    navigate
    resize
    click
    type
    press
    hover
    drag
    select
    upload
    fill
    dialog
    wait
    evaluate
    console
    pdf
  hooks
    list
    info
    check
    enable
    disable
    install
    update
  webhooks
    gmail setup|run
  proxy
    start
    run
    coverage
    sessions
    query
    blob
    purge
  pairing
    list
    approve
  qr
  clawbot
    qr
  docs
  dns
    setup
  resume
  tui
  chat (alias: tui --local)
  terminal (alias: tui --local)

Plugins may also register new top-level commands, for instance openclaw workboard or openclaw voicecall.

Chat slash commands

Within chat messages, /... commands are recognized. For more on these, refer to slash commands.

Notable points:

  • /status: fast troubleshooting.
  • /trace: plugin trace/debug output scoped to the session.
  • /config: configuration changes that are saved.
  • /debug: configuration overrides that exist only at runtime, kept in memory rather than on disk, and needing commands.debug: true.

Usage tracking

When OAuth or API credentials are present, openclaw status --usage along with the Control UI show provider usage and quota figures. These numbers are pulled straight from each provider's usage endpoints and then converted to X% left. Providers that currently expose usage windows include Anthropic, Gemini CLI, GitHub Copilot, MiniMax, OpenAI Codex, Xiaomi, and z.ai.

Additional context is available under Usage tracking.

1,430 words · updated Sep 1, 2026