Files
openclaw/docs/cli/index.md
T

1819 lines
52 KiB
Markdown
Raw Normal View History

2026-01-07 02:52:28 +01:00
---
2026-01-30 03:15:10 +01:00
summary: "OpenClaw CLI reference for `openclaw` commands, subcommands, and options"
2026-01-07 02:52:28 +01:00
read_when:
- Adding or modifying CLI commands or options
- Documenting new command surfaces
2026-01-31 16:04:03 -05:00
title: "CLI Reference"
2026-01-07 02:52:28 +01:00
---
# CLI reference
This page describes the current CLI behavior. If commands change, update this doc.
2026-01-07 02:52:28 +01:00
2026-01-15 06:12:54 +00:00
## Command pages
- [`setup`](/cli/setup)
2026-03-16 05:50:48 +00:00
- [`onboard`](/cli/onboard)
2026-01-16 06:57:16 +00:00
- [`configure`](/cli/configure)
- [`config`](/cli/config)
2026-02-22 20:04:08 +01:00
- [`completion`](/cli/completion)
2026-01-15 06:12:54 +00:00
- [`doctor`](/cli/doctor)
- [`dashboard`](/cli/dashboard)
2026-03-09 04:21:20 +08:00
- [`backup`](/cli/backup)
2026-01-15 06:12:54 +00:00
- [`reset`](/cli/reset)
- [`uninstall`](/cli/uninstall)
- [`update`](/cli/update)
- [`message`](/cli/message)
- [`agent`](/cli/agent)
- [`agents`](/cli/agents)
2026-01-18 08:02:42 +00:00
- [`acp`](/cli/acp)
2026-03-28 02:41:06 +00:00
- [`mcp`](/cli/mcp)
2026-01-15 06:12:54 +00:00
- [`status`](/cli/status)
- [`health`](/cli/health)
- [`sessions`](/cli/sessions)
- [`gateway`](/cli/gateway)
- [`logs`](/cli/logs)
2026-01-24 04:01:45 +00:00
- [`system`](/cli/system)
2026-01-15 06:12:54 +00:00
- [`models`](/cli/models)
- [`memory`](/cli/memory)
2026-02-22 20:04:08 +01:00
- [`directory`](/cli/directory)
2026-01-15 06:12:54 +00:00
- [`nodes`](/cli/nodes)
2026-01-20 10:29:13 +00:00
- [`devices`](/cli/devices)
2026-01-18 07:44:28 +00:00
- [`node`](/cli/node)
- [`approvals`](/cli/approvals)
2026-01-15 06:12:54 +00:00
- [`sandbox`](/cli/sandbox)
- [`tui`](/cli/tui)
- [`browser`](/cli/browser)
- [`cron`](/cli/cron)
- [`tasks`](/cli/index#tasks)
- [`flows`](/cli/flows)
2026-01-15 06:12:54 +00:00
- [`dns`](/cli/dns)
- [`docs`](/cli/docs)
- [`hooks`](/cli/hooks)
2026-01-17 07:08:04 +00:00
- [`webhooks`](/cli/webhooks)
2026-01-15 06:12:54 +00:00
- [`pairing`](/cli/pairing)
2026-02-22 20:04:08 +01:00
- [`qr`](/cli/qr)
2026-01-15 06:12:54 +00:00
- [`plugins`](/cli/plugins) (plugin commands)
- [`channels`](/cli/channels)
- [`security`](/cli/security)
- [`secrets`](/cli/secrets)
2026-01-15 06:12:54 +00:00
- [`skills`](/cli/skills)
2026-02-22 20:04:08 +01:00
- [`daemon`](/cli/daemon) (legacy alias for gateway service commands)
- [`clawbot`](/cli/clawbot) (legacy alias namespace)
2026-01-15 06:12:54 +00:00
- [`voicecall`](/cli/voicecall) (plugin; if installed)
2026-01-07 02:52:28 +01:00
## Global flags
2026-01-30 03:15:10 +01:00
- `--dev`: isolate state under `~/.openclaw-dev` and shift default ports.
- `--profile <name>`: isolate state under `~/.openclaw-<name>`.
- `--container <name>`: target a named container for execution.
- `--no-color`: disable ANSI colors.
2026-01-30 03:15:10 +01:00
- `--update`: shorthand for `openclaw update` (source installs only).
2026-01-07 02:52:28 +01:00
- `-V`, `--version`, `-v`: print version and exit.
## Output styling
- ANSI colors and progress indicators only render in TTY sessions.
2026-01-08 07:20:02 +01:00
- OSC-8 hyperlinks render as clickable links in supported terminals; otherwise we fall back to plain URLs.
- `--json` (and `--plain` where supported) disables styling for clean output.
- `--no-color` disables ANSI styling; `NO_COLOR=1` is also respected.
- Long-running commands show a progress indicator (OSC 9;4 when supported).
2026-01-08 05:29:56 +01:00
## Color palette
2026-01-30 03:15:10 +01:00
OpenClaw uses a lobster palette for CLI output.
2026-01-08 05:29:56 +01:00
2026-01-13 07:15:57 +00:00
- `accent` (#FF5A2D): headings, labels, primary highlights.
2026-01-08 05:29:56 +01:00
- `accentBright` (#FF7A3D): command names, emphasis.
- `accentDim` (#D14A22): secondary highlight text.
- `info` (#FF8A5B): informational values.
- `success` (#2FBF71): success states.
- `warn` (#FFB020): warnings, fallbacks, attention.
- `error` (#E23D2D): errors, failures.
- `muted` (#8B7F77): de-emphasis, metadata.
Palette source of truth: `src/terminal/palette.ts` (the “lobster palette”).
2026-01-07 02:52:28 +01:00
## Command tree
```
2026-01-30 03:15:10 +01:00
openclaw [--dev] [--profile <name>] <command>
2026-01-07 02:52:28 +01:00
setup
onboard
2026-01-16 06:57:16 +00:00
configure
config
get
set
unset
file
schema
validate
2026-02-22 20:04:08 +01:00
completion
2026-01-07 02:52:28 +01:00
doctor
2026-02-22 20:04:08 +01:00
dashboard
2026-03-09 04:21:20 +08:00
backup
create
verify
2026-01-15 04:49:37 +00:00
security
audit
secrets
reload
audit
configure
apply
2026-01-11 10:23:52 +00:00
reset
uninstall
2026-01-10 20:32:19 +01:00
update
wizard
status
channels
2026-01-08 01:10:44 +01:00
list
status
capabilities
resolve
2026-01-11 02:24:35 +00:00
logs
2026-01-08 01:10:44 +01:00
add
remove
2026-01-08 07:40:08 +01:00
login
logout
2026-02-22 20:04:08 +01:00
directory
self
peers list
groups list|members
2026-01-08 07:20:02 +01:00
skills
search
install
update
2026-01-08 07:20:02 +01:00
list
info
check
2026-01-11 12:11:12 +00:00
plugins
list
inspect
2026-01-11 12:11:12 +00:00
install
uninstall
update
2026-01-11 12:11:12 +00:00
enable
disable
doctor
marketplace list
2026-01-12 11:22:56 +00:00
memory
status
index
search
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
2026-01-07 02:52:28 +01:00
agent
2026-01-07 09:58:54 +01:00
agents
list
add
delete
bindings
bind
unbind
set-identity
2026-01-18 08:02:42 +00:00
acp
2026-03-28 02:41:06 +00:00
mcp
serve
list
show
set
unset
2026-01-07 02:52:28 +01:00
status
health
sessions
cleanup
tasks
list
audit
maintenance
show
notify
cancel
flow list|show|cancel
2026-01-07 02:52:28 +01:00
gateway
call
usage-cost
2026-01-07 02:52:28 +01:00
health
status
2026-01-21 17:45:12 +00:00
probe
discover
2026-01-11 02:24:35 +00:00
install
uninstall
start
stop
restart
2026-01-21 17:45:12 +00:00
run
2026-02-22 20:04:08 +01:00
daemon
status
install
uninstall
start
stop
restart
2026-01-11 02:24:35 +00:00
logs
2026-01-24 04:01:45 +00:00
system
event
heartbeat last|enable|disable
presence
2026-01-07 02:52:28 +01:00
models
list
status
set
set-image
aliases list|add|remove
fallbacks list|add|remove|clear
image-fallbacks list|add|remove|clear
scan
auth add|login|login-github-copilot|setup-token|paste-token
2026-01-11 02:24:35 +00:00
auth order get|set|clear
sandbox
list
recreate
explain
2026-01-07 02:52:28 +01:00
cron
status
list
add
edit
rm
enable
disable
runs
run
nodes
status
describe
list
pending
approve
reject
rename
invoke
notify
push
canvas snapshot|present|hide|navigate|eval
canvas a2ui push|reset
camera list|snap|clip
screen record
location get
2026-01-20 10:29:13 +00:00
devices
list
remove
clear
approve
reject
rotate
revoke
2026-01-18 07:44:28 +00:00
node
2026-01-21 17:45:12 +00:00
run
status
install
uninstall
stop
restart
approvals
get
set
allowlist add|remove
2026-01-07 02:52:28 +01:00
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
2026-01-17 07:08:04 +00:00
list
info
check
enable
disable
install
update
webhooks
2026-01-07 02:52:28 +01:00
gmail setup|run
pairing
list
approve
2026-02-22 20:04:08 +01:00
qr
clawbot
qr
2026-01-07 02:52:28 +01:00
docs
dns
setup
tui
```
2026-01-30 03:15:10 +01:00
Note: plugins can add additional top-level commands (for example `openclaw voicecall`).
2026-01-11 12:11:12 +00:00
2026-01-15 04:49:37 +00:00
## Security
2026-01-30 03:15:10 +01:00
- `openclaw security audit` — audit config + local state for common security foot-guns.
- `openclaw security audit --deep` — best-effort live Gateway probe.
2026-04-04 13:42:35 +01:00
- `openclaw security audit --fix` — tighten safe defaults and state/config permissions.
2026-01-15 04:49:37 +00:00
## Secrets
2026-04-04 08:33:41 +01:00
### `secrets`
Manage SecretRefs and related runtime/config hygiene.
Subcommands:
- `secrets reload`
- `secrets audit`
- `secrets configure`
- `secrets apply --from <path>`
`secrets reload` options:
- `--url`, `--token`, `--timeout`, `--expect-final`, `--json`
`secrets audit` options:
- `--check`
- `--allow-exec`
- `--json`
`secrets configure` options:
- `--apply`
- `--yes`
- `--providers-only`
- `--skip-provider-setup`
- `--agent <id>`
- `--allow-exec`
- `--plan-out <path>`
- `--json`
`secrets apply --from <path>` options:
- `--dry-run`
- `--allow-exec`
- `--json`
Notes:
- `reload` is a Gateway RPC and keeps the last-known-good runtime snapshot when resolution fails.
- `audit --check` returns non-zero on findings; unresolved refs use a higher-priority non-zero exit code.
- Dry-run exec checks are skipped by default; use `--allow-exec` to opt in.
2026-01-11 12:11:12 +00:00
## Plugins
Manage extensions and their config:
2026-01-30 03:15:10 +01:00
- `openclaw plugins list` — discover plugins (use `--json` for machine output).
- `openclaw plugins inspect <id>` — show details for a plugin (`info` is an alias).
- `openclaw plugins install <path|.tgz|npm-spec|plugin@marketplace>` — install a plugin (or add a plugin path to `plugins.load.paths`; use `--force` to overwrite an existing install target).
- `openclaw plugins marketplace list <marketplace>` — list marketplace entries before install.
2026-01-30 03:15:10 +01:00
- `openclaw plugins enable <id>` / `disable <id>` — toggle `plugins.entries.<id>.enabled`.
- `openclaw plugins doctor` — report plugin load errors.
2026-01-11 12:11:12 +00:00
Most plugin changes require a gateway restart. See [/plugin](/tools/plugin).
2026-01-11 12:11:12 +00:00
2026-01-12 11:22:56 +00:00
## Memory
Vector search over `MEMORY.md` + `memory/*.md`:
2026-04-04 21:13:49 +01:00
- `openclaw memory status` — show index stats; use `--deep` for vector + embedding readiness checks or `--fix` to repair stale recall/promotion artifacts.
2026-01-30 03:15:10 +01:00
- `openclaw memory index` — reindex memory files.
2026-02-25 02:40:05 +00:00
- `openclaw memory search "<query>"` (or `--query "<query>"`) — semantic search over memory.
- `openclaw memory promote` — rank short-term recalls and optionally append top entries into `MEMORY.md`.
2026-01-12 11:22:56 +00:00
2026-04-04 08:54:10 +01:00
## Sandbox
Manage sandbox runtimes for isolated agent execution. See [/cli/sandbox](/cli/sandbox).
Subcommands:
- `sandbox list [--browser] [--json]`
- `sandbox recreate [--all] [--session <key>] [--agent <id>] [--browser] [--force]`
- `sandbox explain [--session <key>] [--agent <id>] [--json]`
Notes:
- `sandbox recreate` removes existing runtimes so the next use seeds them again with current config.
- For `ssh` and OpenShell `remote` backends, recreate deletes the canonical remote workspace for the selected scope.
2026-01-09 16:38:52 +01:00
## Chat slash commands
Chat messages support `/...` commands (text and native). See [/tools/slash-commands](/tools/slash-commands).
Highlights:
2026-01-31 21:13:13 +09:00
2026-01-09 16:38:52 +01:00
- `/status` for quick diagnostics.
2026-01-10 03:00:24 +01:00
- `/config` for persisted config changes.
- `/debug` for runtime-only config overrides (memory, not disk; requires `commands.debug: true`).
2026-01-09 16:38:52 +01:00
2026-01-07 02:52:28 +01:00
## Setup + onboarding
2026-04-04 08:56:23 +01:00
### `completion`
Generate shell-completion scripts and optionally install them into your shell profile.
Options:
- `-s, --shell <zsh|bash|powershell|fish>`
- `-i, --install`
- `--write-state`
- `-y, --yes`
Notes:
- Without `--install` or `--write-state`, `completion` prints the script to stdout.
- `--install` writes an `OpenClaw Completion` block into your shell profile and points it at the cached script under the OpenClaw state directory.
2026-01-07 02:52:28 +01:00
### `setup`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Initialize config + workspace.
Options:
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
- `--workspace <dir>`: agent workspace path (default `~/.openclaw/workspace`).
- `--wizard`: run onboarding.
- `--non-interactive`: run onboarding without prompts.
- `--mode <local|remote>`: onboard mode.
2026-01-07 02:52:28 +01:00
- `--remote-url <url>`: remote Gateway URL.
- `--remote-token <token>`: remote Gateway token.
Onboarding auto-runs when any onboarding flags are present (`--non-interactive`, `--mode`, `--remote-url`, `--remote-token`).
2026-01-08 05:29:56 +01:00
2026-01-07 02:52:28 +01:00
### `onboard`
2026-01-31 21:13:13 +09:00
Interactive onboarding for gateway, workspace, and skills.
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--workspace <dir>`
- `--reset` (reset config + credentials + sessions before onboarding)
- `--reset-scope <config|config+creds+sessions|full>` (default `config+creds+sessions`; use `full` to also remove workspace)
2026-01-07 02:52:28 +01:00
- `--non-interactive`
- `--mode <local|remote>`
2026-01-22 23:07:58 +00:00
- `--flow <quickstart|advanced|manual>` (manual is an alias for advanced)
- `--auth-choice <choice>` where `<choice>` is one of:
`chutes`, `deepseek-api-key`, `openai-codex`, `openai-api-key`,
`openrouter-api-key`, `kilocode-api-key`, `litellm-api-key`, `ai-gateway-api-key`,
`cloudflare-ai-gateway-api-key`, `moonshot-api-key`, `moonshot-api-key-cn`,
`kimi-code-api-key`, `synthetic-api-key`, `venice-api-key`, `together-api-key`,
`huggingface-api-key`, `apiKey`, `gemini-api-key`, `google-gemini-cli`, `zai-api-key`,
`zai-coding-global`, `zai-coding-cn`, `zai-global`, `zai-cn`, `xiaomi-api-key`,
`minimax-global-oauth`, `minimax-global-api`, `minimax-cn-oauth`, `minimax-cn-api`,
`opencode-zen`, `opencode-go`, `github-copilot`, `copilot-proxy`, `xai-api-key`,
`mistral-api-key`, `volcengine-api-key`, `byteplus-api-key`, `qianfan-api-key`,
`qwen-standard-api-key-cn`, `qwen-standard-api-key`, `qwen-api-key-cn`, `qwen-api-key`,
`modelstudio-standard-api-key-cn`, `modelstudio-standard-api-key`,
`modelstudio-api-key-cn`, `modelstudio-api-key`, `custom-api-key`, `skip`
2026-04-04 20:40:31 +01:00
- Qwen note: `qwen-*` is the canonical auth-choice family. `modelstudio-*`
ids remain accepted as legacy compatibility aliases only.
- `--secret-input-mode <plaintext|ref>` (default `plaintext`; use `ref` to store provider default env refs instead of plaintext keys)
2026-01-07 02:52:28 +01:00
- `--anthropic-api-key <key>`
2026-01-09 09:59:58 +01:00
- `--openai-api-key <key>`
- `--mistral-api-key <key>`
2026-01-12 06:47:57 +00:00
- `--openrouter-api-key <key>`
2026-01-16 14:40:56 +01:00
- `--ai-gateway-api-key <key>`
2026-01-12 06:47:57 +00:00
- `--moonshot-api-key <key>`
2026-01-17 11:46:37 +02:00
- `--kimi-code-api-key <key>`
2026-01-08 14:44:40 +01:00
- `--gemini-api-key <key>`
2026-01-10 16:32:21 +01:00
- `--zai-api-key <key>`
- `--minimax-api-key <key>`
- `--opencode-zen-api-key <key>`
2026-03-11 16:31:06 +11:00
- `--opencode-go-api-key <key>`
- `--custom-base-url <url>` (non-interactive; used with `--auth-choice custom-api-key`)
- `--custom-model-id <id>` (non-interactive; used with `--auth-choice custom-api-key`)
- `--custom-api-key <key>` (non-interactive; optional; used with `--auth-choice custom-api-key`; falls back to `CUSTOM_API_KEY` when omitted)
- `--custom-provider-id <id>` (non-interactive; optional custom provider id)
- `--custom-compatibility <openai|anthropic>` (non-interactive; optional; default `openai`)
2026-01-07 02:52:28 +01:00
- `--gateway-port <port>`
2026-01-21 20:35:39 +00:00
- `--gateway-bind <loopback|lan|tailnet|auto|custom>`
- `--gateway-auth <token|password>`
2026-01-07 02:52:28 +01:00
- `--gateway-token <token>`
- `--gateway-token-ref-env <name>` (non-interactive; store `gateway.auth.token` as an env SecretRef; requires that env var to be set; cannot be combined with `--gateway-token`)
2026-01-07 02:52:28 +01:00
- `--gateway-password <password>`
- `--remote-url <url>`
- `--remote-token <token>`
- `--tailscale <off|serve|funnel>`
- `--tailscale-reset-on-exit`
- `--install-daemon`
2026-01-11 02:24:35 +00:00
- `--no-install-daemon` (alias: `--skip-daemon`)
- `--daemon-runtime <node|bun>`
- `--skip-channels`
2026-01-07 02:52:28 +01:00
- `--skip-skills`
- `--skip-search`
2026-01-07 02:52:28 +01:00
- `--skip-health`
2026-01-11 02:24:35 +00:00
- `--skip-ui`
- `--cloudflare-ai-gateway-account-id <id>`
- `--cloudflare-ai-gateway-gateway-id <id>`
2026-04-04 13:34:02 +01:00
- `--node-manager <npm|pnpm|bun>` (setup/onboarding node manager for skills; pnpm recommended, bun also supported)
2026-01-07 02:52:28 +01:00
- `--json`
2026-01-16 06:57:16 +00:00
### `configure`
2026-01-31 21:13:13 +09:00
Interactive configuration wizard (models, channels, skills, gateway).
2026-01-07 02:52:28 +01:00
2026-04-04 08:31:36 +01:00
Options:
- `--section <section>` (repeatable; limit the wizard to specific sections)
2026-01-16 06:57:16 +00:00
### `config`
2026-01-31 21:13:13 +09:00
Non-interactive config helpers (get/set/unset/file/schema/validate). Running `openclaw config` with no
2026-01-16 06:57:16 +00:00
subcommand launches the wizard.
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-16 06:57:16 +00:00
- `config get <path>`: print a config value (dot/bracket path).
- `config set`: supports four assignment modes:
- value mode: `config set <path> <value>` (JSON5-or-string parsing)
- SecretRef builder mode: `config set <path> --ref-provider <provider> --ref-source <source> --ref-id <id>`
- provider builder mode: `config set secrets.providers.<alias> --provider-source <env|file|exec> ...`
- batch mode: `config set --batch-json '<json>'` or `config set --batch-file <path>`
- `config set --dry-run`: validate assignments without writing `openclaw.json` (exec SecretRef checks are skipped by default).
- `config set --allow-exec --dry-run`: opt in to exec SecretRef dry-run checks (may execute provider commands).
- `config set --dry-run --json`: emit machine-readable dry-run output (checks + completeness signal, operations, refs checked/skipped, errors).
- `config set --strict-json`: require JSON5 parsing for path/value input. `--json` remains a legacy alias for strict parsing outside dry-run output mode.
2026-01-16 06:57:16 +00:00
- `config unset <path>`: remove a value.
- `config file`: print the active config file path.
- `config schema`: print the generated JSON schema for `openclaw.json`, including propagated field `title` / `description` docs metadata across nested object, wildcard, array-item, and composition branches, plus best-effort live plugin/channel schema metadata.
- `config validate`: validate the current config against the schema without starting the gateway.
- `config validate --json`: emit machine-readable JSON output.
2026-01-16 06:57:16 +00:00
2026-01-07 02:52:28 +01:00
### `doctor`
2026-01-31 21:13:13 +09:00
2026-01-07 22:31:08 +01:00
Health checks + quick fixes (config + gateway + legacy services).
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--no-workspace-suggestions`: disable workspace memory hints.
2026-01-07 22:31:08 +01:00
- `--yes`: accept defaults without prompting (headless).
- `--non-interactive`: skip prompts; apply safe migrations only.
- `--deep`: scan system services for extra gateway installs.
- `--repair` (alias: `--fix`): attempt automatic repairs for detected issues.
- `--force`: force repairs even when not strictly needed.
- `--generate-gateway-token`: generate a new gateway auth token.
2026-01-07 02:52:28 +01:00
2026-04-04 08:31:36 +01:00
### `dashboard`
Open the Control UI with your current token.
Options:
- `--no-open`: print the URL but do not launch a browser
Notes:
- For SecretRef-managed gateway tokens, `dashboard` prints or opens a non-tokenized URL instead of exposing the secret in terminal output or browser launch arguments.
### `update`
Update the installed CLI.
Root options:
- `--json`
- `--no-restart`
- `--dry-run`
- `--channel <stable|beta|dev>`
- `--tag <dist-tag|version|spec>`
- `--timeout <seconds>`
- `--yes`
Subcommands:
- `update status`
- `update wizard`
`update status` options:
- `--json`
- `--timeout <seconds>`
`update wizard` options:
- `--timeout <seconds>`
Notes:
- `openclaw --update` rewrites to `openclaw update`.
2026-04-04 08:31:36 +01:00
### `backup`
Create and verify local backup archives for OpenClaw state.
Subcommands:
- `backup create`
- `backup verify <archive>`
`backup create` options:
- `--output <path>`
- `--json`
- `--dry-run`
- `--verify`
- `--only-config`
- `--no-include-workspace`
`backup verify <archive>` options:
- `--json`
## Channel helpers
2026-01-07 02:52:28 +01:00
### `channels`
2026-01-31 21:13:13 +09:00
Manage chat channel accounts (WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (plugin)/Signal/iMessage/Microsoft Teams).
2026-01-08 01:10:44 +01:00
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-26 19:04:46 +00:00
- `channels list`: show configured channels and auth profiles.
2026-04-04 18:52:01 +01:00
- `channels status`: check gateway reachability and channel health (`--probe` runs live per-account probe/audit checks when the gateway is reachable; if not, it falls back to config-only channel summaries. Use `openclaw health` or `openclaw status --deep` for broader gateway health probes).
2026-01-30 03:15:10 +01:00
- Tip: `channels status` prints warnings with suggested fixes when it can detect common misconfigurations (then points you to `openclaw doctor`).
- `channels logs`: show recent channel logs from the gateway log file.
- `channels add`: wizard-style setup when no flags are passed; flags switch to non-interactive mode.
- When adding a non-default account to a channel still using single-account top-level config, OpenClaw promotes account-scoped values into the channel account map before writing the new account. Most channels use `accounts.default`; Matrix can preserve an existing matching named/default target instead.
- Non-interactive `channels add` does not auto-create/upgrade bindings; channel-only bindings continue to match the default account.
- `channels remove`: disable by default; pass `--delete` to remove config entries without prompts.
- `channels login`: interactive channel login (WhatsApp Web only).
- `channels logout`: log out of a channel session (if supported).
2026-01-08 01:10:44 +01:00
Common options:
2026-01-31 21:13:13 +09:00
2026-01-23 16:45:37 -06:00
- `--channel <name>`: `whatsapp|telegram|discord|googlechat|slack|mattermost|signal|imessage|msteams`
- `--account <id>`: channel account id (default `default`)
2026-01-08 01:10:44 +01:00
- `--name <label>`: display name for the account
`channels login` options:
2026-01-31 21:13:13 +09:00
- `--channel <channel>` (default `whatsapp`; supports `whatsapp`/`web`)
2026-01-08 07:40:08 +01:00
- `--account <id>`
- `--verbose`
`channels logout` options:
2026-01-31 21:13:13 +09:00
- `--channel <channel>` (default `whatsapp`)
2026-01-08 07:40:08 +01:00
- `--account <id>`
`channels list` options:
2026-01-31 21:13:13 +09:00
- `--no-usage`: skip model provider usage/quota snapshots (OAuth/API-backed only).
2026-01-08 02:49:29 +01:00
- `--json`: output JSON (includes usage unless `--no-usage` is set).
2026-01-08 02:48:51 +01:00
2026-04-04 08:38:51 +01:00
`channels status` options:
- `--probe`
- `--timeout <ms>`
- `--json`
`channels capabilities` options:
- `--channel <name>`
- `--account <id>` (only with `--channel`)
- `--target <dest>`
- `--timeout <ms>`
- `--json`
`channels resolve` options:
- `<entries...>`
- `--channel <name>`
- `--account <id>`
- `--kind <auto|user|group>`
- `--json`
`channels logs` options:
2026-01-31 21:13:13 +09:00
- `--channel <name|all>` (default `all`)
2026-01-11 02:24:35 +00:00
- `--lines <n>` (default `200`)
- `--json`
2026-04-04 08:38:51 +01:00
Notes:
- `channels login` supports `--verbose`.
- `channels capabilities --account` only applies when `--channel` is set.
2026-04-04 18:52:01 +01:00
- `channels status --probe` can show transport state plus probe/audit results such as `works`, `probe failed`, `audit ok`, or `audit failed`, depending on channel support.
2026-04-04 08:38:51 +01:00
2026-01-08 09:29:29 +01:00
More detail: [/concepts/oauth](/concepts/oauth)
2026-01-08 04:05:10 +01:00
Examples:
2026-01-31 21:13:13 +09:00
2026-01-08 04:05:10 +01:00
```bash
2026-01-30 03:15:10 +01:00
openclaw channels add --channel telegram --account alerts --name "Alerts Bot" --token $TELEGRAM_BOT_TOKEN
openclaw channels add --channel discord --account work --name "Work Bot" --token $DISCORD_BOT_TOKEN
openclaw channels remove --channel discord --account work --delete
openclaw channels status --probe
openclaw status --deep
2026-01-08 04:05:10 +01:00
```
2026-04-04 08:56:23 +01:00
### `directory`
Look up self, peer, and group IDs for channels that expose a directory surface. See [`openclaw directory`](/cli/directory).
Common options:
- `--channel <name>`
- `--account <id>`
- `--json`
Subcommands:
- `directory self`
- `directory peers list [--query <text>] [--limit <n>]`
- `directory groups list [--query <text>] [--limit <n>]`
- `directory groups members --group-id <id> [--limit <n>]`
2026-01-08 07:20:02 +01:00
### `skills`
2026-01-31 21:13:13 +09:00
2026-01-08 07:20:02 +01:00
List and inspect available skills plus readiness info.
Subcommands:
2026-01-31 21:13:13 +09:00
2026-03-22 17:03:32 +00:00
- `skills search [query...]`: search ClawHub skills.
2026-04-04 13:31:13 +01:00
- `skills search --limit <n> --json`: cap search results or emit machine-readable output.
2026-03-22 17:03:32 +00:00
- `skills install <slug>`: install a skill from ClawHub into the active workspace.
2026-04-04 13:31:13 +01:00
- `skills install <slug> --version <version>`: install a specific ClawHub version.
- `skills install <slug> --force`: overwrite an existing workspace skill folder.
2026-03-22 17:03:32 +00:00
- `skills update <slug|--all>`: update tracked ClawHub skills.
2026-01-08 07:20:02 +01:00
- `skills list`: list skills (default when no subcommand).
2026-04-04 16:19:34 +01:00
- `skills list --json`: emit machine-readable skill inventory on stdout.
2026-04-04 13:31:13 +01:00
- `skills list --verbose`: include missing requirements in the table.
2026-01-08 07:20:02 +01:00
- `skills info <name>`: show details for one skill.
2026-04-04 16:19:34 +01:00
- `skills info <name> --json`: emit machine-readable details on stdout.
2026-01-08 07:20:02 +01:00
- `skills check`: summary of ready vs missing requirements.
2026-04-04 16:19:34 +01:00
- `skills check --json`: emit machine-readable readiness output on stdout.
2026-01-08 07:20:02 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-08 07:20:02 +01:00
- `--eligible`: show only ready skills.
- `--json`: output JSON (no styling).
- `-v`, `--verbose`: include missing requirements detail.
2026-03-22 17:03:32 +00:00
Tip: use `openclaw skills search`, `openclaw skills install`, and `openclaw skills update` for ClawHub-backed skills.
2026-01-08 07:20:02 +01:00
2026-01-07 02:52:28 +01:00
### `pairing`
2026-01-31 21:13:13 +09:00
Approve DM pairing requests across channels.
2026-01-07 02:52:28 +01:00
Subcommands:
2026-01-31 21:13:13 +09:00
2026-02-25 02:40:05 +00:00
- `pairing list [channel] [--channel <channel>] [--account <id>] [--json]`
- `pairing approve <channel> <code> [--account <id>] [--notify]`
- `pairing approve --channel <channel> [--account <id>] <code> [--notify]`
2026-01-07 02:52:28 +01:00
2026-04-04 08:36:27 +01:00
Notes:
- If exactly one pairing-capable channel is configured, `pairing approve <code>` is also allowed.
- `list` and `approve` both support `--account <id>` for multi-account channels.
### `devices`
Manage gateway device pairing entries and per-role device tokens.
Subcommands:
- `devices list [--json]`
- `devices approve [requestId] [--latest]`
- `devices reject <requestId>`
- `devices remove <deviceId>`
- `devices clear --yes [--pending]`
- `devices rotate --device <id> --role <role> [--scope <scope...>]`
- `devices revoke --device <id> --role <role>`
2026-04-04 08:36:27 +01:00
Notes:
- `devices list` and `devices approve` can fall back to local pairing files on local loopback when direct pairing scope is unavailable.
- `devices approve` auto-selects the newest pending request when no `requestId` is passed or `--latest` is set.
2026-04-04 14:25:47 +01:00
- Stored-token reconnects reuse the token's cached approved scopes; explicit
`devices rotate --scope ...` updates that stored scope set for future
cached-token reconnects.
2026-04-04 08:36:27 +01:00
- `devices rotate` and `devices revoke` return JSON payloads.
2026-04-04 08:56:23 +01:00
### `qr`
Generate a mobile pairing QR and setup code from the current Gateway config. See [`openclaw qr`](/cli/qr).
Options:
- `--remote`
- `--url <url>`
- `--public-url <url>`
- `--token <token>`
- `--password <password>`
- `--setup-code-only`
- `--no-ascii`
- `--json`
Notes:
- `--token` and `--password` are mutually exclusive.
- The setup code carries a short-lived bootstrap token, not the shared gateway token/password.
2026-04-04 14:32:32 +01:00
- Built-in bootstrap handoff keeps the primary node token at `scopes: []`.
- Any handed-off operator bootstrap token stays bounded to `operator.approvals`, `operator.read`, `operator.talk.secrets`, and `operator.write`.
- Bootstrap scope checks are role-prefixed, so that operator allowlist only satisfies operator requests; non-operator roles still need scopes under their own role prefix.
2026-04-04 14:17:47 +01:00
- `--remote` can use `gateway.remote.url` or the active Tailscale Serve/Funnel URL.
2026-04-04 08:56:23 +01:00
- After scanning, approve the request with `openclaw devices list` / `openclaw devices approve <requestId>`.
### `clawbot`
Legacy alias namespace. Currently supports `openclaw clawbot qr`, which maps to [`openclaw qr`](/cli/qr).
2026-04-04 08:33:41 +01:00
### `hooks`
Manage internal agent hooks.
Subcommands:
- `hooks list`
- `hooks info <name>`
- `hooks check`
- `hooks enable <name>`
- `hooks disable <name>`
- `hooks install <path-or-spec>` (deprecated alias for `openclaw plugins install`)
- `hooks update [id]` (deprecated alias for `openclaw plugins update`)
Common options:
- `--json`
- `--eligible`
- `-v`, `--verbose`
Notes:
- Plugin-managed hooks cannot be enabled or disabled through `openclaw hooks`; enable or disable the owning plugin instead.
- `hooks install` and `hooks update` still work as compatibility aliases, but they print deprecation warnings and forward to the plugin commands.
2026-04-04 08:56:23 +01:00
### `webhooks`
Webhook helpers. Current built-in surface is Gmail Pub/Sub setup + runner:
- `webhooks gmail setup`
- `webhooks gmail run`
2026-01-17 07:08:04 +00:00
### `webhooks gmail`
2026-01-31 21:13:13 +09:00
Gmail Pub/Sub hook setup + runner. See [Gmail Pub/Sub](/automation/cron-jobs#gmail-pubsub-integration).
2026-01-07 02:52:28 +01:00
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-17 07:08:04 +00:00
- `webhooks gmail setup` (requires `--account <email>`; supports `--project`, `--topic`, `--subscription`, `--label`, `--hook-url`, `--hook-token`, `--push-token`, `--bind`, `--port`, `--path`, `--include-body`, `--max-bytes`, `--renew-minutes`, `--tailscale`, `--tailscale-path`, `--tailscale-target`, `--push-endpoint`, `--json`)
- `webhooks gmail run` (runtime overrides for the same flags)
2026-01-07 02:52:28 +01:00
2026-04-04 08:33:41 +01:00
Notes:
- `setup` configures the Gmail watch plus the OpenClaw-facing push path.
- `run` starts the local Gmail watcher/renew loop with optional runtime overrides.
2026-04-04 08:56:23 +01:00
### `dns`
Wide-area discovery DNS helpers (CoreDNS + Tailscale). Current built-in surface:
- `dns setup [--domain <domain>] [--apply]`
2026-01-07 02:52:28 +01:00
### `dns setup`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Wide-area discovery DNS helper (CoreDNS + Tailscale). See [/gateway/discovery](/gateway/discovery).
Options:
2026-01-31 21:13:13 +09:00
2026-04-04 08:36:27 +01:00
- `--domain <domain>`
2026-01-07 02:52:28 +01:00
- `--apply`: install/update CoreDNS config (requires sudo; macOS only).
2026-04-04 08:36:27 +01:00
Notes:
- Without `--apply`, this is a planning helper that prints the recommended OpenClaw + Tailscale DNS config.
- `--apply` currently supports macOS with Homebrew CoreDNS only.
2026-01-07 02:52:28 +01:00
## Messaging + agent
### `message`
2026-01-31 21:13:13 +09:00
Unified outbound messaging + channel actions.
2026-01-09 09:08:46 +01:00
See: [/cli/message](/cli/message)
Subcommands:
2026-01-31 21:13:13 +09:00
- `message send|poll|react|reactions|read|edit|delete|pin|unpin|pins|permissions|search|timeout|kick|ban`
- `message thread <create|list|reply>`
- `message emoji <list|upload>`
- `message sticker <send|upload>`
- `message role <info|add|remove>`
- `message channel <info|list>`
- `message member info`
- `message voice status`
- `message event <list|create>`
Examples:
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
- `openclaw message send --target +15555550123 --message "Hi"`
- `openclaw message poll --channel discord --target channel:123 --poll-question "Snack?" --poll-option Pizza --poll-option Sushi`
2026-01-09 09:14:31 +01:00
2026-01-07 02:52:28 +01:00
### `agent`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Run one agent turn via the Gateway (or `--local` embedded).
2026-04-04 08:42:43 +01:00
Pass at least one session selector: `--to`, `--session-id`, or `--agent`.
2026-01-07 02:52:28 +01:00
Required:
2026-01-31 21:13:13 +09:00
- `-m, --message <text>`
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
- `-t, --to <dest>` (for session key and optional delivery)
2026-01-07 02:52:28 +01:00
- `--session-id <id>`
- `--agent <id>` (agent id; overrides routing bindings)
- `--thinking <off|minimal|low|medium|high|xhigh>` (provider support varies; not model-gated at CLI level)
- `--verbose <on|off>`
- `--channel <channel>` (delivery channel; omit to use the main session channel)
- `--reply-to <target>` (delivery target override, separate from session routing)
- `--reply-channel <channel>` (delivery channel override)
- `--reply-account <id>` (delivery account id override)
2026-04-04 09:04:11 +01:00
- `--local` (embedded run; plugin registry still preloads first)
2026-01-07 02:52:28 +01:00
- `--deliver`
- `--json`
- `--timeout <seconds>`
2026-04-04 08:42:43 +01:00
Notes:
- Gateway mode falls back to the embedded agent when the Gateway request fails.
2026-04-04 09:04:11 +01:00
- `--local` still preloads the plugin registry, so plugin-provided providers, tools, and channels remain available during embedded runs.
2026-04-04 08:42:43 +01:00
- `--channel`, `--reply-channel`, and `--reply-account` affect reply delivery, not routing.
2026-01-07 09:58:54 +01:00
### `agents`
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
Manage isolated agents (workspaces + auth + routing).
2026-04-04 08:42:43 +01:00
Running `openclaw agents` with no subcommand is equivalent to `openclaw agents list`.
2026-01-07 09:58:54 +01:00
#### `agents list`
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
List configured agents.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
- `--json`
2026-01-08 07:49:07 +01:00
- `--bindings`
2026-01-07 09:58:54 +01:00
#### `agents add [name]`
2026-01-31 21:13:13 +09:00
2026-01-08 07:49:07 +01:00
Add a new isolated agent. Runs the guided wizard unless flags (or `--non-interactive`) are passed; `--workspace` is required in non-interactive mode.
2026-01-07 09:58:54 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
- `--workspace <dir>`
2026-01-08 07:49:07 +01:00
- `--model <id>`
- `--agent-dir <dir>`
- `--bind <channel[:accountId]>` (repeatable)
2026-01-08 07:49:07 +01:00
- `--non-interactive`
2026-01-07 09:58:54 +01:00
- `--json`
Binding specs use `channel[:accountId]`. When `accountId` is omitted, OpenClaw may resolve account scope via channel defaults/plugin hooks; otherwise it is a channel binding without explicit account scope.
2026-04-04 08:42:43 +01:00
Passing any explicit add flags switches the command into the non-interactive path. `main` is reserved and cannot be used as the new agent id.
#### `agents bindings`
List routing bindings.
Options:
- `--agent <id>`
- `--json`
#### `agents bind`
Add routing bindings for an agent.
Options:
2026-04-04 08:42:43 +01:00
- `--agent <id>` (defaults to the current default agent)
- `--bind <channel[:accountId]>` (repeatable)
- `--json`
#### `agents unbind`
Remove routing bindings for an agent.
Options:
2026-04-04 08:42:43 +01:00
- `--agent <id>` (defaults to the current default agent)
- `--bind <channel[:accountId]>` (repeatable)
- `--all`
- `--json`
2026-01-08 07:49:07 +01:00
2026-04-04 08:42:43 +01:00
Use either `--all` or `--bind`, not both.
2026-01-07 09:58:54 +01:00
#### `agents delete <id>`
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
Delete an agent and prune its workspace + state.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 09:58:54 +01:00
- `--force`
- `--json`
2026-04-04 08:42:43 +01:00
Notes:
- `main` cannot be deleted.
- Without `--force`, interactive confirmation is required.
#### `agents set-identity`
Update an agent identity (name/theme/emoji/avatar).
Options:
- `--agent <id>`
- `--workspace <dir>`
- `--identity-file <path>`
- `--from-identity`
- `--name <name>`
- `--theme <theme>`
- `--emoji <emoji>`
- `--avatar <value>`
- `--json`
2026-04-04 08:42:43 +01:00
Notes:
- `--agent` or `--workspace` can be used to select the target agent.
- When no explicit identity fields are provided, the command reads `IDENTITY.md`.
2026-01-18 08:02:42 +00:00
### `acp`
2026-01-31 21:13:13 +09:00
2026-01-18 08:02:42 +00:00
Run the ACP bridge that connects IDEs to the Gateway.
Root options:
- `--url <url>`
- `--token <token>`
- `--token-file <path>`
- `--password <password>`
- `--password-file <path>`
- `--session <key>`
- `--session-label <label>`
- `--require-existing`
- `--reset-session`
- `--no-prefix-cwd`
- `--provenance <off|meta|meta+receipt>`
- `--verbose`
#### `acp client`
Interactive ACP client for bridge debugging.
Options:
- `--cwd <dir>`
- `--server <command>`
- `--server-args <args...>`
- `--server-verbose`
- `--verbose`
See [`acp`](/cli/acp) for full behavior, security notes, and examples.
2026-04-04 08:46:24 +01:00
### `mcp`
Manage saved MCP server definitions and expose OpenClaw channels over MCP stdio.
#### `mcp serve`
Expose routed OpenClaw channel conversations over MCP stdio.
Options:
- `--url <url>`
- `--token <token>`
- `--token-file <path>`
- `--password <password>`
- `--password-file <path>`
- `--claude-channel-mode <auto|on|off>`
- `--verbose`
#### `mcp list`
List saved MCP server definitions.
Options:
- `--json`
#### `mcp show [name]`
Show one saved MCP server definition or the full saved MCP server object.
Options:
- `--json`
#### `mcp set <name> <value>`
Save one MCP server definition from a JSON object.
#### `mcp unset <name>`
Remove one saved MCP server definition.
### `approvals`
Manage exec approvals. Alias: `exec-approvals`.
#### `approvals get`
Fetch the exec approvals snapshot and effective policy.
Options:
- `--node <node>`
- `--gateway`
- `--json`
- node RPC options from `openclaw nodes`
#### `approvals set`
Replace exec approvals with JSON from a file or stdin.
Options:
- `--node <node>`
- `--gateway`
- `--file <path>`
- `--stdin`
- `--json`
- node RPC options from `openclaw nodes`
#### `approvals allowlist add|remove`
Edit the per-agent exec allowlist.
Options:
- `--node <node>`
- `--gateway`
- `--agent <id>` (defaults to `*`)
- `--json`
- node RPC options from `openclaw nodes`
2026-01-18 08:02:42 +00:00
2026-01-07 02:52:28 +01:00
### `status`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Show linked session health and recent recipients.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--json`
2026-01-11 02:24:35 +00:00
- `--all` (full diagnosis; read-only, pasteable)
2026-04-04 18:54:04 +01:00
- `--deep` (ask the gateway for a live health probe, including channel probes when supported)
2026-01-13 06:51:20 +00:00
- `--usage` (show model provider usage/quota)
2026-01-07 02:52:28 +01:00
- `--timeout <ms>`
- `--verbose`
2026-01-11 02:24:35 +00:00
- `--debug` (alias for `--verbose`)
2026-01-07 02:52:28 +01:00
Notes:
2026-01-31 21:13:13 +09:00
2026-01-21 16:48:31 +00:00
- Overview includes Gateway + node host service status when available.
- `--usage` prints normalized provider usage windows as `X% left`.
2026-01-07 11:42:41 +01:00
### Usage tracking
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
OpenClaw can surface provider usage/quota when OAuth/API creds are available.
2026-01-07 11:42:41 +01:00
Surfaces:
2026-01-31 21:13:13 +09:00
2026-01-18 05:35:22 +00:00
- `/status` (adds a short provider usage line when available)
2026-01-30 03:15:10 +01:00
- `openclaw status --usage` (prints full provider breakdown)
2026-01-07 11:42:41 +01:00
- macOS menu bar (Usage section under Context)
Notes:
2026-01-31 21:13:13 +09:00
2026-01-07 11:42:41 +01:00
- Data comes directly from provider usage endpoints (no estimates).
- Human-readable output is normalized to `X% left` across providers.
2026-04-04 12:40:55 +01:00
- Providers with current usage windows: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi, and z.ai.
2026-04-04 12:35:59 +01:00
- MiniMax note: raw `usage_percent` / `usagePercent` means remaining quota, so OpenClaw inverts it before display; count-based fields still win when present. `model_remains` responses prefer the chat-model entry, derive the window label from timestamps when needed, and include the model name in the plan label.
2026-04-04 12:40:55 +01:00
- Usage auth comes from provider-specific hooks when available; otherwise OpenClaw falls back to matching OAuth/API-key credentials from auth profiles, env, or config. If none resolve, usage is hidden.
2026-01-07 11:42:41 +01:00
- Details: see [Usage tracking](/concepts/usage-tracking).
2026-01-07 02:52:28 +01:00
### `health`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Fetch health from the running Gateway.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--json`
- `--timeout <ms>`
2026-04-04 18:54:04 +01:00
- `--verbose` (force a live probe and print gateway connection details)
- `--debug` (alias for `--verbose`)
2026-01-07 02:52:28 +01:00
2026-04-04 18:54:04 +01:00
Notes:
- Default `health` can return a fresh cached gateway snapshot.
- `health --verbose` forces a live probe and expands human-readable output across all configured accounts and agents.
2026-01-07 02:52:28 +01:00
### `sessions`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
List stored conversation sessions.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--json`
- `--verbose`
- `--store <path>`
- `--active <minutes>`
- `--agent <id>` (filter sessions by agent)
- `--all-agents` (show sessions across all agents)
Subcommands:
- `sessions cleanup` — remove expired or orphaned sessions
2026-01-07 02:52:28 +01:00
Notes:
- `sessions cleanup` also supports `--fix-missing` to prune entries whose transcript files are gone.
2026-01-11 10:23:52 +00:00
## Reset / Uninstall
### `reset`
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
Reset local config/state (keeps the CLI installed).
Options:
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
- `--scope <config|config+creds+sessions|full>`
- `--yes`
- `--non-interactive`
- `--dry-run`
Notes:
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
- `--non-interactive` requires `--scope` and `--yes`.
### `uninstall`
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
Uninstall the gateway service + local data (CLI remains).
Options:
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
- `--service`
- `--state`
- `--workspace`
- `--app`
- `--all`
- `--yes`
- `--non-interactive`
- `--dry-run`
Notes:
2026-01-31 21:13:13 +09:00
2026-01-11 10:23:52 +00:00
- `--non-interactive` requires `--yes` and explicit scopes (or `--all`).
2026-04-04 08:30:16 +01:00
- `--all` removes service, state, workspace, and app together.
2026-01-11 10:23:52 +00:00
### `tasks`
List and manage [background task](/automation/tasks) runs across agents.
- `tasks list` — show active and recent task runs
- `tasks show <id>` — show details for a specific task run
- `tasks notify <id>` — change notification policy for a task run
- `tasks cancel <id>` — cancel a running task
- `tasks audit` — surface operational issues (stale, lost, delivery failures)
- `tasks maintenance [--apply] [--json]` — preview or apply tasks and TaskFlow cleanup/reconciliation (ACP/subagent child sessions, active cron jobs, live CLI runs)
2026-04-03 03:22:01 +09:00
- `tasks flow list` — list active and recent Task Flow flows
- `tasks flow show <lookup>` — inspect a flow by id or lookup key
- `tasks flow cancel <lookup>` — cancel a running flow and its active tasks
### `flows`
Legacy docs shortcut. Flow commands live under `openclaw tasks flow`:
- `tasks flow list [--json]`
- `tasks flow show <lookup>`
- `tasks flow cancel <lookup>`
2026-01-07 02:52:28 +01:00
## Gateway
### `gateway`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Run the WebSocket Gateway.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--port <port>`
2026-01-21 20:35:39 +00:00
- `--bind <loopback|tailnet|lan|auto|custom>`
2026-01-07 02:52:28 +01:00
- `--token <token>`
- `--auth <token|password>`
- `--password <password>`
- `--password-file <path>`
2026-01-07 02:52:28 +01:00
- `--tailscale <off|serve|funnel>`
- `--tailscale-reset-on-exit`
- `--allow-unconfigured`
- `--dev`
2026-01-09 15:11:32 +01:00
- `--reset` (reset dev config + credentials + sessions + workspace)
2026-01-07 02:52:28 +01:00
- `--force` (kill existing listener on port)
- `--verbose`
- `--cli-backend-logs`
2026-01-07 02:52:28 +01:00
- `--ws-log <auto|full|compact>`
- `--compact` (alias for `--ws-log compact`)
2026-01-11 02:24:35 +00:00
- `--raw-stream`
- `--raw-stream-path <path>`
2026-01-07 02:52:28 +01:00
2026-01-21 17:45:12 +00:00
### `gateway service`
2026-01-31 21:13:13 +09:00
2026-01-07 21:37:05 +01:00
Manage the Gateway service (launchd/systemd/schtasks).
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-21 17:45:12 +00:00
- `gateway status` (probes the Gateway RPC by default)
- `gateway install` (service install)
- `gateway uninstall`
- `gateway start`
- `gateway stop`
- `gateway restart`
2026-01-07 21:37:05 +01:00
Notes:
2026-01-31 21:13:13 +09:00
2026-01-21 17:45:12 +00:00
- `gateway status` probes the Gateway RPC by default using the services resolved port/config (override with `--url/--token/--password`).
- `gateway status` supports `--no-probe`, `--deep`, `--require-rpc`, and `--json` for scripting.
2026-01-30 03:15:10 +01:00
- `gateway status` also surfaces legacy or extra gateway services when it can detect them (`--deep` adds system-level scans). Profile-named OpenClaw services are treated as first-class and aren't flagged as "extra".
- `gateway status` stays available for diagnostics even when the local CLI config is missing or invalid.
- `gateway status` prints the resolved file log path, the CLI-vs-service config paths/validity snapshot, and the resolved probe target URL.
- If gateway auth SecretRefs are unresolved in the current command path, `gateway status --json` reports `rpc.authWarning` only when probe connectivity/auth fails (warnings are suppressed when probe succeeds).
- On Linux systemd installs, status token-drift checks include both `Environment=` and `EnvironmentFile=` unit sources.
2026-01-21 17:45:12 +00:00
- `gateway install|uninstall|start|stop|restart` support `--json` for scripting (default output stays human-friendly).
- `gateway install` defaults to Node runtime; bun is **not recommended** (WhatsApp/Telegram bugs).
- `gateway install` options: `--port`, `--runtime`, `--token`, `--force`, `--json`.
2026-01-07 21:37:05 +01:00
2026-04-04 08:54:10 +01:00
### `daemon`
Legacy alias for the Gateway service-management commands. See [/cli/daemon](/cli/daemon).
Subcommands:
- `daemon status`
- `daemon install`
- `daemon uninstall`
- `daemon start`
- `daemon stop`
- `daemon restart`
Common options:
- `status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
- `install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
- `uninstall|start|stop|restart`: `--json`
2026-01-08 06:48:28 +00:00
### `logs`
2026-01-31 21:13:13 +09:00
2026-01-08 06:48:28 +00:00
Tail Gateway file logs via RPC.
Options:
2026-01-31 21:13:13 +09:00
- `--limit <n>`: maximum number of log lines to return
- `--max-bytes <n>`: maximum bytes to read from the log file
- `--follow`: follow the log file (tail -f style)
- `--interval <ms>`: polling interval in ms when following
- `--local-time`: display timestamps in local time
- `--json`: emit line-delimited JSON
- `--plain`: disable structured formatting
- `--no-color`: disable ANSI colors
2026-04-04 08:27:04 +01:00
- `--url <url>`: explicit Gateway WebSocket URL
- `--token <token>`: Gateway token
- `--timeout <ms>`: Gateway RPC timeout
- `--expect-final`: wait for a final response when needed
2026-01-08 06:48:28 +00:00
Examples:
2026-01-31 21:13:13 +09:00
2026-01-08 06:48:28 +00:00
```bash
2026-01-30 03:15:10 +01:00
openclaw logs --follow
openclaw logs --limit 200
openclaw logs --plain
openclaw logs --json
openclaw logs --no-color
2026-01-08 06:48:28 +00:00
```
2026-04-04 08:27:04 +01:00
Notes:
- If you pass `--url`, the CLI does not auto-apply config or environment credentials.
- Local loopback pairing failures fall back to the configured local log file; explicit `--url` targets do not.
2026-01-07 02:52:28 +01:00
### `gateway <subcommand>`
2026-01-31 21:13:13 +09:00
2026-01-21 17:45:12 +00:00
Gateway CLI helpers (use `--url`, `--token`, `--password`, `--timeout`, `--expect-final` for RPC subcommands).
When you pass `--url`, the CLI does not auto-apply config or environment credentials.
Include `--token` or `--password` explicitly. Missing explicit credentials is an error.
2026-01-07 02:52:28 +01:00
Subcommands:
2026-01-31 21:13:13 +09:00
- `gateway call <method> [--params <json>] [--url <url>] [--token <token>] [--password <password>] [--timeout <ms>] [--expect-final] [--json]`
2026-01-07 02:52:28 +01:00
- `gateway health`
- `gateway status`
2026-01-21 17:45:12 +00:00
- `gateway probe`
2026-01-11 02:24:35 +00:00
- `gateway discover`
2026-01-21 17:45:12 +00:00
- `gateway install|uninstall|start|stop|restart`
- `gateway run`
2026-01-07 02:52:28 +01:00
2026-04-04 19:06:30 +01:00
Notes:
- `gateway status --deep` adds a system-level service scan. Use `gateway probe`,
`health --verbose`, or top-level `status --deep` for deeper runtime probe detail.
Common RPCs:
2026-01-31 21:13:13 +09:00
2026-04-04 20:45:46 +01:00
- `config.schema.lookup` (inspect one config subtree with a shallow schema node, matched hint metadata, and immediate child summaries)
2026-04-04 20:32:28 +01:00
- `config.get` (read current config snapshot + hash)
- `config.set` (validate + write full config; use `baseHash` for optimistic concurrency)
- `config.apply` (validate + write config + restart + wake)
- `config.patch` (merge a partial update + restart + wake)
- `update.run` (run update + restart + wake)
2026-01-15 04:05:01 +00:00
Tip: when calling `config.set`/`config.apply`/`config.patch` directly, pass `baseHash` from
`config.get` if a config already exists.
2026-04-04 20:32:28 +01:00
Tip: for partial edits, inspect with `config.schema.lookup` first and prefer `config.patch`.
Tip: these config write RPCs preflight active SecretRef resolution for refs in the submitted config payload and reject writes when an effectively active submitted ref is unresolved.
Tip: the owner-only `gateway` runtime tool still refuses to rewrite `tools.exec.ask` or `tools.exec.security`; legacy `tools.bash.*` aliases normalize to the same protected exec paths.
2026-01-15 04:05:01 +00:00
2026-01-07 02:52:28 +01:00
## Models
See [/concepts/models](/concepts/models) for fallback behavior and scanning strategy.
Anthropic note: Anthropic staff told us OpenClaw-style Claude CLI usage is
allowed again, so OpenClaw treats Claude CLI reuse and `claude -p` usage as
sanctioned for this integration unless Anthropic publishes a new policy. For
production, prefer an Anthropic API key or another supported
subscription-style provider such as OpenAI Codex, Alibaba Cloud Model Studio
Coding Plan, MiniMax Coding Plan, or Z.AI / GLM Coding Plan.
Anthropic setup-token remains available as a supported token-auth path, but OpenClaw now prefers Claude CLI reuse and `claude -p` when available.
2026-01-07 02:52:28 +01:00
### `models` (root)
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
`openclaw models` is an alias for `models status`.
2026-01-07 02:52:28 +01:00
2026-01-11 02:24:35 +00:00
Root options:
2026-01-31 21:13:13 +09:00
2026-01-11 02:24:35 +00:00
- `--status-json` (alias for `models status --json`)
- `--status-plain` (alias for `models status --plain`)
2026-01-07 02:52:28 +01:00
### `models list`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--all`
- `--local`
- `--provider <name>`
- `--json`
- `--plain`
### `models status`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--json`
- `--plain`
- `--check` (exit 1=expired/missing, 2=expiring)
2026-01-23 19:25:58 +00:00
- `--probe` (live probe of configured auth profiles)
- `--probe-provider <name>`
- `--probe-profile <id>` (repeat or comma-separated)
- `--probe-timeout <ms>`
- `--probe-concurrency <n>`
- `--probe-max-tokens <n>`
2026-04-04 20:51:43 +01:00
- `--agent <id>`
Always includes the auth overview and OAuth expiry status for profiles in the auth store.
2026-01-23 19:25:58 +00:00
`--probe` runs live requests (may consume tokens and trigger rate limits).
2026-04-04 20:51:43 +01:00
Probe rows can come from auth profiles, env credentials, or `models.json`.
Expect probe statuses like `ok`, `auth`, `rate_limit`, `billing`, `timeout`,
`format`, `unknown`, and `no_model`.
When an explicit `auth.order.<provider>` omits a stored profile, probe reports
`excluded_by_auth_order` instead of silently trying that profile.
2026-01-07 02:52:28 +01:00
### `models set <model>`
2026-01-31 21:13:13 +09:00
2026-01-09 12:44:23 +00:00
Set `agents.defaults.model.primary`.
2026-01-07 02:52:28 +01:00
### `models set-image <model>`
2026-01-31 21:13:13 +09:00
2026-01-09 12:44:23 +00:00
Set `agents.defaults.imageModel.primary`.
2026-01-07 02:52:28 +01:00
### `models aliases list|add|remove`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `list`: `--json`, `--plain`
- `add <alias> <model>`
- `remove <alias>`
### `models fallbacks list|add|remove|clear`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `list`: `--json`, `--plain`
- `add <model>`
- `remove <model>`
- `clear`
### `models image-fallbacks list|add|remove|clear`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `list`: `--json`, `--plain`
- `add <model>`
- `remove <model>`
- `clear`
### `models scan`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--min-params <b>`
- `--max-age-days <days>`
- `--provider <name>`
- `--max-candidates <n>`
- `--timeout <ms>`
- `--concurrency <n>`
2026-01-11 02:24:35 +00:00
- `--no-probe`
2026-01-07 02:52:28 +01:00
- `--yes`
- `--no-input`
- `--set-default`
- `--set-image`
- `--json`
### `models auth add|login|login-github-copilot|setup-token|paste-token`
2026-01-31 21:13:13 +09:00
2026-01-11 02:24:35 +00:00
Options:
2026-01-31 21:13:13 +09:00
2026-04-04 08:10:18 +01:00
- `add`: interactive auth helper (provider auth flow or token paste)
- `login`: `--provider <name>`, `--method <method>`, `--set-default`
2026-04-04 08:10:18 +01:00
- `login-github-copilot`: GitHub Copilot OAuth login flow (`--yes`)
- `setup-token`: `--provider <name>`, `--yes`
2026-01-11 02:24:35 +00:00
- `paste-token`: `--provider <name>`, `--profile-id <id>`, `--expires-in <duration>`
Notes:
- `setup-token` and `paste-token` are generic token commands for providers that expose token auth methods.
2026-04-04 22:05:05 +01:00
- `setup-token` requires an interactive TTY and runs the provider's token-auth method.
- `paste-token` prompts for the token value and defaults to auth profile id `<provider>:manual` when `--profile-id` is omitted.
- Anthropic `setup-token` / `paste-token` remain available as a supported OpenClaw token path, but OpenClaw now prefers Claude CLI reuse and `claude -p` when available.
2026-01-11 02:24:35 +00:00
### `models auth order get|set|clear`
2026-01-31 21:13:13 +09:00
2026-01-11 02:24:35 +00:00
Options:
2026-01-31 21:13:13 +09:00
2026-01-11 02:24:35 +00:00
- `get`: `--provider <name>`, `--agent <id>`, `--json`
- `set`: `--provider <name>`, `--agent <id>`, `<profileIds...>`
- `clear`: `--provider <name>`, `--agent <id>`
2026-01-24 04:01:45 +00:00
## System
2026-01-07 02:52:28 +01:00
2026-01-24 04:01:45 +00:00
### `system event`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Enqueue a system event and optionally trigger a heartbeat (Gateway RPC).
Required:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--text <text>`
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--mode <now|next-heartbeat>`
- `--json`
- `--url`, `--token`, `--timeout`, `--expect-final`
2026-01-24 04:01:45 +00:00
### `system heartbeat last|enable|disable`
2026-01-31 21:13:13 +09:00
2026-01-24 04:01:45 +00:00
Heartbeat controls (Gateway RPC).
Options:
2026-01-31 21:13:13 +09:00
2026-01-24 04:01:45 +00:00
- `--json`
- `--url`, `--token`, `--timeout`, `--expect-final`
### `system presence`
2026-01-31 21:13:13 +09:00
2026-01-24 04:01:45 +00:00
List system presence entries (Gateway RPC).
Options:
2026-01-31 21:13:13 +09:00
2026-01-24 04:01:45 +00:00
- `--json`
- `--url`, `--token`, `--timeout`, `--expect-final`
## Cron
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Manage scheduled jobs (Gateway RPC). See [/automation/cron-jobs](/automation/cron-jobs).
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `cron status [--json]`
2026-01-08 01:16:50 +01:00
- `cron list [--all] [--json]` (table output by default; use `--json` for raw)
2026-01-08 01:10:44 +01:00
- `cron add` (alias: `create`; requires `--name` and exactly one of `--at` | `--every` | `--cron`, and exactly one payload of `--system-event` | `--message`)
2026-01-07 02:52:28 +01:00
- `cron edit <id>` (patch fields)
2026-01-08 01:10:44 +01:00
- `cron rm <id>` (aliases: `remove`, `delete`)
2026-01-07 02:52:28 +01:00
- `cron enable <id>`
- `cron disable <id>`
- `cron runs --id <id> [--limit <n>]`
2026-04-04 08:22:24 +01:00
- `cron run <id> [--due]`
2026-01-07 02:52:28 +01:00
All `cron` commands accept `--url`, `--token`, `--timeout`, `--expect-final`.
2026-04-04 14:26:46 +01:00
`cron add|edit --model ...` uses that selected allowed model for the job. If
the model is not allowed, cron warns and falls back to the job's agent/default
model selection instead. Configured fallback chains still apply, but a plain
model override with no explicit per-job fallback list no longer appends the
agent primary as a hidden extra retry target.
2026-01-18 07:44:28 +00:00
## Node host
### `node`
2026-01-18 07:44:28 +00:00
`node` runs a **headless node host** or manages it as a background service. See
2026-01-30 03:15:10 +01:00
[`openclaw node`](/cli/node).
2026-01-18 07:44:28 +00:00
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-22 23:07:58 +00:00
- `node run --host <gateway-host> --port 18789`
2026-01-21 16:48:31 +00:00
- `node status`
- `node install [--host <gateway-host>] [--port <port>] [--tls] [--tls-fingerprint <sha256>] [--node-id <id>] [--display-name <name>] [--runtime <node|bun>] [--force]`
- `node uninstall`
- `node stop`
- `node restart`
2026-01-18 07:44:28 +00:00
Auth notes:
- `node` resolves gateway auth from env/config (no `--token`/`--password` flags): `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`, then `gateway.auth.*`. In local mode, node host intentionally ignores `gateway.remote.*`; in `gateway.mode=remote`, `gateway.remote.*` participates per remote precedence rules.
- Node-host auth resolution only honors `OPENCLAW_GATEWAY_*` env vars.
2026-01-07 02:52:28 +01:00
## Nodes
`nodes` talks to the Gateway and targets paired nodes. See [/nodes](/nodes).
Common options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--url`, `--token`, `--timeout`, `--json`
Subcommands:
2026-01-31 21:13:13 +09:00
2026-01-21 04:52:51 +00:00
- `nodes status [--connected] [--last-connected <duration>]`
2026-01-07 02:52:28 +01:00
- `nodes describe --node <id|name|ip>`
2026-01-21 04:52:51 +00:00
- `nodes list [--connected] [--last-connected <duration>]`
2026-01-07 02:52:28 +01:00
- `nodes pending`
- `nodes approve <requestId>`
- `nodes reject <requestId>`
- `nodes rename --node <id|name|ip> --name <displayName>`
- `nodes invoke --node <id|name|ip> --command <command> [--params <json>] [--invoke-timeout <ms>] [--idempotency-key <key>]`
- `nodes notify --node <id|name|ip> [--title <text>] [--body <text>] [--sound <name>] [--priority <passive|active|timeSensitive>] [--delivery <system|overlay|auto>] [--invoke-timeout <ms>]` (mac only)
Camera:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `nodes camera list --node <id|name|ip>`
- `nodes camera snap --node <id|name|ip> [--facing front|back|both] [--device-id <id>] [--max-width <px>] [--quality <0-1>] [--delay-ms <ms>] [--invoke-timeout <ms>]`
- `nodes camera clip --node <id|name|ip> [--facing front|back] [--device-id <id>] [--duration <ms|10s|1m>] [--no-audio] [--invoke-timeout <ms>]`
Canvas + screen:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `nodes canvas snapshot --node <id|name|ip> [--format png|jpg|jpeg] [--max-width <px>] [--quality <0-1>] [--invoke-timeout <ms>]`
2026-01-08 07:16:05 +01:00
- `nodes canvas present --node <id|name|ip> [--target <urlOrPath>] [--x <px>] [--y <px>] [--width <px>] [--height <px>] [--invoke-timeout <ms>]`
- `nodes canvas hide --node <id|name|ip> [--invoke-timeout <ms>]`
- `nodes canvas navigate <url> --node <id|name|ip> [--invoke-timeout <ms>]`
- `nodes canvas eval [<js>] --node <id|name|ip> [--js <code>] [--invoke-timeout <ms>]`
- `nodes canvas a2ui push --node <id|name|ip> (--jsonl <path> | --text <text>) [--invoke-timeout <ms>]`
- `nodes canvas a2ui reset --node <id|name|ip> [--invoke-timeout <ms>]`
2026-01-07 02:52:28 +01:00
- `nodes screen record --node <id|name|ip> [--screen <index>] [--duration <ms|10s>] [--fps <n>] [--no-audio] [--out <path>] [--invoke-timeout <ms>]`
Location:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `nodes location get --node <id|name|ip> [--max-age <ms>] [--accuracy <coarse|balanced|precise>] [--location-timeout <ms>] [--invoke-timeout <ms>]`
## Browser
2026-01-30 03:15:10 +01:00
Browser control CLI (dedicated Chrome/Brave/Edge/Chromium). See [`openclaw browser`](/cli/browser) and the [Browser tool](/tools/browser).
2026-01-07 02:52:28 +01:00
Common options:
2026-01-31 21:13:13 +09:00
2026-04-04 08:18:14 +01:00
- `--url`, `--token`, `--timeout`, `--expect-final`, `--json`
2026-01-07 02:52:28 +01:00
- `--browser-profile <name>`
Manage:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `browser status`
- `browser start`
- `browser stop`
- `browser reset-profile`
- `browser tabs`
- `browser open <url>`
- `browser focus <targetId>`
- `browser close [targetId]`
- `browser profiles`
2026-04-04 08:18:14 +01:00
- `browser create-profile --name <name> [--color <hex>] [--cdp-url <url>] [--driver existing-session] [--user-data-dir <path>]`
2026-01-07 02:52:28 +01:00
- `browser delete-profile --name <name>`
Inspect:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `browser screenshot [targetId] [--full-page] [--ref <ref>] [--element <selector>] [--type png|jpeg]`
2026-01-12 08:36:23 +00:00
- `browser snapshot [--format aria|ai] [--target-id <id>] [--limit <n>] [--interactive] [--compact] [--depth <n>] [--selector <sel>] [--out <path>]`
2026-01-07 02:52:28 +01:00
Actions:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `browser navigate <url> [--target-id <id>]`
- `browser resize <width> <height> [--target-id <id>]`
- `browser click <ref> [--double] [--button <left|right|middle>] [--modifiers <csv>] [--target-id <id>]`
- `browser type <ref> <text> [--submit] [--slowly] [--target-id <id>]`
- `browser press <key> [--target-id <id>]`
- `browser hover <ref> [--target-id <id>]`
- `browser drag <startRef> <endRef> [--target-id <id>]`
- `browser select <ref> <values...> [--target-id <id>]`
- `browser upload <paths...> [--ref <ref>] [--input-ref <ref>] [--element <selector>] [--target-id <id>] [--timeout-ms <ms>]`
- `browser fill [--fields <json>] [--fields-file <path>] [--target-id <id>]`
- `browser dialog --accept|--dismiss [--prompt <text>] [--target-id <id>] [--timeout-ms <ms>]`
- `browser wait [--time <ms>] [--text <value>] [--text-gone <value>] [--target-id <id>]`
- `browser evaluate --fn <code> [--ref <ref>] [--target-id <id>]`
- `browser console [--level <error|warn|info>] [--target-id <id>]`
- `browser pdf [--target-id <id>]`
2026-04-04 08:56:23 +01:00
## Voice call
### `voicecall`
Plugin-provided voice-call utilities. Only appears when the voice-call plugin is installed and enabled. See [`openclaw voicecall`](/cli/voicecall).
Common commands:
- `voicecall call --to <phone> --message <text> [--mode notify|conversation]`
- `voicecall start --to <phone> [--message <text>] [--mode notify|conversation]`
- `voicecall continue --call-id <id> --message <text>`
- `voicecall speak --call-id <id> --message <text>`
- `voicecall end --call-id <id>`
- `voicecall status --call-id <id>`
- `voicecall tail [--file <path>] [--since <n>] [--poll <ms>]`
- `voicecall latency [--file <path>] [--last <n>]`
- `voicecall expose [--mode off|serve|funnel] [--path <path>] [--port <port>] [--serve-path <path>]`
2026-01-07 02:52:28 +01:00
## Docs search
### `docs`
Search the live OpenClaw docs index.
2026-01-07 02:52:28 +01:00
### `docs [query...]`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Search the live docs index.
## TUI
### `tui`
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
Open the terminal UI connected to the Gateway.
Options:
2026-01-31 21:13:13 +09:00
2026-01-07 02:52:28 +01:00
- `--url <url>`
- `--token <token>`
- `--password <password>`
- `--session <key>`
- `--deliver`
- `--thinking <level>`
2026-01-09 16:25:11 +01:00
- `--message <text>`
2026-01-09 21:22:41 +01:00
- `--timeout-ms <ms>` (defaults to `agents.defaults.timeoutSeconds`)
2026-01-07 02:52:28 +01:00
- `--history-limit <n>`