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 setupandopenclaw onboardstart by checking inference, then launch OpenClaw to handle Gateway, workspace, channels, skills, and health configuration.openclaw setup --baselineproduces the initial config and workspace without taking you through the guided onboarding steps.openclaw configuremodifies specific elements of an existing installation: model authentication, gateway, channels, plugins, or skills.openclaw channels addsets 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
| Area | Commands |
|---|---|
| Setup and onboarding | openclaw · setup · onboard · configure · config · completion · doctor · dashboard |
| Reset, backup, and migration | backup · migrate · reset · uninstall · update |
| Messaging and agents | message · agent · agents · attach · acp · mcp |
| Health and sessions | status · health · triage · sessions · resume · audit |
| Gateway and logs | gateway · logs · system |
| Models and inference | models · promos · infer · capability (shortcut for infer) · memory · wiki |
| Network and nodes | directory · nodes · devices · node · worker |
| Runtime and sandbox | approvals · exec-policy (refer to approvals) · sandbox · tui · chat/terminal (shortcuts for tui --local) · browser |
| Automation | cron · tasks · hooks · webhooks · transcripts |
| Discovery and docs | dns · docs |
| Pairing and channels | pairing · qr · channels |
| Security and plugins | security · secrets · skills · plugins · proxy |
| Legacy aliases | daemon (gateway service) · clawbot (namespace) |
| Plugins (optional) | path · policy · voicecall · workboard (if installed) |
Global flags
| Flag | Purpose |
|---|---|
--dev | Keep 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-color | Turn off ANSI colors (NO_COLOR=1 is honored as well) |
--update | Short form of openclaw update; applies to source checkouts and package installs alike |
-V, --version, -v | Show 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,
--jsonkeeps 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
--jsonif 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:
| Token | Hex | Used for |
|---|---|---|
accent | #FF5A2D | Headings, labels, primary highlights |
accentBright | #FF7A3D | Command names, emphasis |
accentDim | #D14A22 | Secondary highlight text |
info | #FF8A5B | Informational values |
success | #2FBF71 | Success states |
warn | #FFB020 | Warnings, option flags, fallbacks |
error | #E23D2D | Errors, failures |
muted | #8B7F77 | De-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 needingcommands.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.