Skip to main content

CLI Reference

This is a map of the openclaw command tree as of v2026.10.4, grouped by what you are trying to do. It lists the commands most self-hosters need and links each to its official page. For flags, run openclaw <command> --help (the authoritative list for your installed version) or read the official CLI reference.

Global flags​

These go before the command, for example openclaw --profile work status.

FlagPurpose
--profile <name>Isolate state and config under ~/.openclaw-<name>
--devDev profile: state under ~/.openclaw-dev, Gateway on port 19001
--container <name>Run the CLI inside a running Docker/Podman container (not a sandbox)
--log-level <level>silent, fatal, error, warn, info, debug or trace
--no-colorDisable ANSI colours (NO_COLOR=1 also works)
--updateShorthand for openclaw update
-V, --versionPrint the version

There is no global --config, --json, --verbose or --quiet. Use OPENCLAW_CONFIG_PATH to point at another config file; --json is a per-command flag (openclaw status --json).

Set up and change your install​

CommandWhat it does
onboardGuided first-time setup: model auth, Gateway, workspace, channels, skills. --install-daemon also installs the background service.
setupChat with OpenClaw, onboarding first if setup is incomplete. setup --baseline just writes the baseline config and workspace.
configureInteractive editor for an existing setup (models, Gateway, channels, plugins, skills).
configNon-interactive get, set, patch, unset, file, schema, validate. See Configuration.
doctorHealth checks; --fix applies repairs and config migrations. Run it after every upgrade. Plain doctor can still migrate state; --lint is the read-only mode.
updateUpdate OpenClaw (--channel stable|extended-stable|beta|dev, --dry-run, status).
backupcreate, verify, restore archives of config, credentials, sessions and workspaces.
reset / uninstallReset local state, or remove the service and local data.
migrateImport state from another agent system (list, plan, apply).
openclaw onboard --install-daemon
openclaw config set tools.exec.mode ask
openclaw doctor --fix
openclaw update --dry-run
openclaw backup create --verify

Talk to the agent​

CommandWhat it does
tuiTerminal UI connected to the Gateway.
chat, terminalAliases for tui --local: the terminal UI against the embedded local runtime.
agentOne agent turn through the Gateway (--local for embedded); good for scripts. agent exec runs an isolated headless turn.
resumeReopen a recent Gateway session in the TUI.
messageSend, read, react to and manage messages on a channel directly.
dashboardOpen the Control UI (web chat, settings, approvals) with your token; --no-open prints the URL.
attachAttach Claude Code to a Gateway session with scoped MCP tools.
openclaw chat --message "What can you do?"
openclaw agent --agent main --message "Summarise today's inbox" --json
openclaw message send --channel telegram --target @mychat --message "Hi"
openclaw dashboard --no-open

A positional argument to chat or tui is a session target, not a message, and chat rejects targets because it runs in local mode. openclaw chat "hello" fails; use --message.

Run the Gateway​

CommandWhat it does
gatewayrun (foreground), install / uninstall / start / stop / restart / status (service), plus health, probe, call, usage-cost, discover, auth-token.
daemonLegacy alias for the Gateway service subcommands.
statusGateway, channel, model and session overview (--all, --deep, --usage, --json).
healthHealth from the running Gateway.
logsTail Gateway file logs (--follow, --limit, --json, --max-bytes). There is no --filter; pipe to grep.
systemheartbeat last|enable|disable, event, presence.
triageCollect sanitised diagnostics and open a local coding agent to repair.
openclaw gateway status
openclaw gateway run --port 18789 --bind loopback
openclaw gateway restart
openclaw gateway usage-cost
openclaw status --all
openclaw logs --follow --limit 100
openclaw system heartbeat last

gateway run has no --daemon or --host: use gateway install for a background service and --bind loopback|lan|tailnet|custom|auto for the listen address. Gateway flags are on the running page.

Channels, pairing and devices​

CommandWhat it does
channelsadd, remove, list, status, login, logout, logs, capabilities, resolve, dead-letters.
pairingDM pairing: list and approve <channel> <code> for strangers who messaged the bot.
devicesDevice pairing and tokens for Control UI, apps and CLI clients (list, approve, reject, revoke, rotate).
qrMobile pairing QR code and setup code.
nodes / nodeManage paired nodes (phones, other machines) / run this machine as a headless node.
directoryLook up contact and group IDs on a channel.
openclaw channels add telegram
openclaw channels status
openclaw pairing list
openclaw devices list

Models, agents and memory​

CommandWhat it does
modelslist, status, set, fallbacks, aliases, auth, scan.
agentsIsolated agents: list, add, delete, bind, unbind, bindings, set-identity.
memorystatus, search, index, forget, reset, rem-harness.
sessionsList, tail, export, archive and clean up stored sessions.
inferProvider-backed inference from the CLI (model, image, audio, TTS, web, embeddings). Alias: capability.
openclaw models status
openclaw models set anthropic/claude-sonnet-5-5
openclaw agents list
openclaw memory status --deep
openclaw memory search "invoice"

Automation​

CommandWhat it does
cron (alias automations)Scheduled jobs: add, list, edit, run, runs, enable, disable, rm, and scratch for a job's notes (where the old HEARTBEAT.md checklist went).
hooksInternal agent hooks.
webhooksWebhook helpers (Gmail).
openclaw cron list --all
openclaw cron status

There is no openclaw heartbeat command. Heartbeat settings live in agents.defaults.heartbeat; inspect it with openclaw system heartbeat last.

Skills, plugins and MCP​

CommandWhat it does
skillssearch, install, update, list, info, check, verify, workshop, library. Installs from ClawHub go through here.
pluginslist, search, inspect, install, uninstall, update, enable, disable, doctor, plus authoring commands (init, build, validate, pack).
mcpManage mcp.servers (add, list, show, probe, tools, login) and serve OpenClaw as an MCP server.
openclaw skills search weather
openclaw skills check
openclaw plugins list
openclaw mcp list
Changing in 2026.10.10 (beta)

2026.10.10-beta.1 (npm beta, 2026-10-15; not in 2026.10.4) removes the Skill Workshop proposal subcommands (propose-create, propose-update, inspect, revise, evaluate, apply, reject, quarantine). skills workshop becomes list, changes, show, archive and restore. Scripts that call the proposal commands will fail after upgrading; see Skill Workshop.

On 2026.10.4, plugins install <name> without a prefix installs from npm. Always write clawhub:<package> or npm:<package>: a change on upstream main (not in any release yet) makes bare names resolve to ClawHub, and explicit prefixes work on both sides of it. See Plugin System.

openclaw clawhub and openclaw skill (singular) do not exist. ClawHub also has its own separate clawhub CLI for publishing; see the ClawHub CLI docs.

Security, approvals and sandbox​

CommandWhat it does
securityaudit (--deep, --fix, --json): checks config and state for common mistakes.
approvals (alias exec-approvals)Approval policy, the exec allowlist (allowlist add|remove), pending requests and grants.
exec-policyShow or sync the requested exec policy with host approvals; see approvals.
sandboxlist, recreate, explain sandbox containers.
secretsreload, audit, configure, apply, store.
openclaw security audit --deep
openclaw approvals get
openclaw sandbox explain
openclaw secrets audit

See Security Hardening before giving the agent shell, browser or channel access.

Everything else​

acp, audit, browser, clawbot (legacy), completion, connect, database, dns, docs (search the live docs), file-transfer, fleet, googlemeet, promos, proxy, storage, teamsmeetings, telemetry, transcripts, users, worker, worktrees, zoommeetings. Plugins can add more (for example workboard). All are listed in the command index. fleet is removed in 2026.10.10 (beta); it is absent from the 2026.10.10-beta.1 command index.

Exit codes and JSON errors​

Commands exit 0 on success and nonzero on failure. OpenClaw does not define a general table of exit codes. With --json, a failure prints one JSON document to stdout:

CLI --json failure envelope
{ "ok": false, "error": { "type": "cli_error", "message": "Description of the failure" } }

Scripts should parse stdout and still check the exit status. Set OPENCLAW_DEBUG=1 to include diagnostics when you rerun a failing command.

See also​