Complete OpenClaw keyboard shortcuts and commands reference — 62 shortcuts across 13 categories. Quick reference cheat sheet for Windows & Mac.
| Shortcut | Action | |
|---|---|---|
| /help | Help | Display the core help menu. |
| /status | Status | Show channel health and recent sessions. |
| /compact | Compact | Summarize conversation and reset context. |
| /model | Switch model | Switch the active LLM model. |
| /commands | List commands | Show all available commands. |
| /usage | Usage | Check API usage and costs. |
| /restart | Restart | Restart the agent. |
| /btw | Side question | Quick side question during current task. |
| Shortcut | Action | |
|---|---|---|
| Ctrl + L | Model picker | Open LLM model selector. |
| Ctrl + C | Stop | Stop current execution. |
| openclaw onboard | Setup | Run the initial setup wizard. |
| openclaw doctor | Diagnose | Diagnose configuration errors. |
| openclaw tui | Launch TUI | Launch the terminal interface. |
| openclaw skills list | List skills | Show installed skills. |
| Shortcut | Action | |
|---|---|---|
| --dev | Isolate state under ~/.openclaw-dev | Default gateway port 19001; derived ports shift accordingly. |
| --profile <name> | Isolate state under ~/.openclaw-<name> | Sets OPENCLAW_STATE_DIR / OPENCLAW_CONFIG_PATH; replaces canonical paths including a running Gateway service. |
| --container <name> | Run the CLI inside a running Podman/Docker container | Default comes from the OPENCLAW_CONTAINER environment variable. |
| --log-level <level> | Override the global log level | Applies to both file and console output. |
| --no-color | Disable ANSI colors | NO_COLOR=1 is also respected. |
| --update | Shorthand for openclaw update | Works for both source checkouts and package installs. |
| -V, --version | Print version and exit | -v also works. |
| Shortcut | Action | |
|---|---|---|
| openclaw | CLI reference and security model for the inference-backed OpenClaw setup and repair helper | |
| openclaw setup | system-agent chat with onboarding fallback | |
| openclaw onboard | interactive onboarding | |
| openclaw config | get/set/patch/unset/file/schema/validate | |
| openclaw doctor | health checks + guided repairs | |
| openclaw dashboard | securely open the Control UI |
| Shortcut | Action | |
|---|---|---|
| openclaw backup | archives, SQLite snapshots, and Git history | |
| openclaw migrate | import state from another agent system | |
| openclaw reset | reset local state/config | |
| openclaw update | safe-ish source update + gateway auto-restart |
| Shortcut | Action | |
|---|---|---|
| openclaw message | send + channel actions | |
| openclaw agent | Gateway-backed turns and isolated runs | |
| openclaw agents | list/add/delete/bindings/bind/unbind/set identity | |
| openclaw attach | launch Claude Code with a scoped Gateway MCP grant | |
| openclaw acp | Run the ACP bridge for IDE integrations | |
| openclaw mcp | Expose OpenClaw channel conversations over MCP and manage saved MCP server definitions |
| Shortcut | Action | |
|---|---|---|
| openclaw status | diagnostics, probes, usage snapshots | |
| openclaw health | gateway health snapshot via RPC | |
| openclaw sessions | listing, archiving, deleting, and maintaining stored sessions | |
| openclaw resume | attaching the TUI to a recent Gateway session |
| Shortcut | Action | |
|---|---|---|
| openclaw gateway | run, query, and discover gateways | |
| openclaw logs | tail gateway logs via RPC | |
| openclaw system | system events, heartbeat, presence |
| Shortcut | Action | |
|---|---|---|
| openclaw models | status/list/set/scan, aliases, fallbacks, auth | |
| openclaw infer | Infer-first CLI for provider-backed model, image, audio, TTS, video, web, and embedding workflows | |
| openclaw memory | status/index/search/promote/promote-explain/rem-harness/rem-backfill/session-backfill |
| Shortcut | Action | |
|---|---|---|
| openclaw cron | schedule and run background jobs | |
| openclaw tasks | background task ledger and Task Flow state | |
| openclaw hooks | agent hooks | |
| openclaw webhooks | Gmail Pub/Sub setup and runner |
| Shortcut | Action | |
|---|---|---|
| openclaw channels | accounts, status, dead letters, capabilities, resolve, logs, login/logout | |
| openclaw pairing | approve/list pairing requests | |
| openclaw qr | generate mobile pairing QR + setup code | |
| openclaw devices | device pairing + token rotation/revocation | |
| openclaw nodes | status, pairing, invoke, camera/screen/location/notify and the macOS widget panel |
| Shortcut | Action | |
|---|---|---|
| openclaw security | audit and fix common security footguns | |
| openclaw skills | search/install/update/verify/list/info/check/workshop | |
| openclaw plugins | init, build, validate, list, install, marketplace, uninstall, enable/disable, doctor | |
| openclaw sandbox | Manage sandbox runtimes and inspect effective sandbox policy |
| Shortcut | Action | |
|---|---|---|
| openclaw tui | Gateway-backed or local embedded terminal UI | |
| openclaw browser | lifecycle, profiles, tabs, actions, state, and debugging |
OpenClaw splits its typeable controls into two surfaces that never overlap. In-session slash commands (/help, /status, /compact) and the TUI keys steer a live conversation. Everything else on this page belongs to the openclaw terminal CLI, which administers the platform: onboarding, channel accounts, model configuration, backups, and the Gateway process itself. If you are typing into a chat, you want a slash command; if you are typing into a shell on the Gateway host, you want the CLI.
The three global flags worth memorizing all deal with isolation. --dev moves every file under ~/.openclaw-dev and shifts the default Gateway port to 19001, so a development instance can run beside production without either noticing. --profile <name> generalizes this: each named profile gets its own state directory, config path, and Gateway service, which makes trying an openclaw update against a scratch profile a low-risk habit. --container <name> pushes the whole CLI into a running Podman or Docker container.
The Gateway is the WebSocket hub that channels, nodes, sessions, and hooks attach to, and the operational loop revolves around it: openclaw gateway runs and discovers it, openclaw doctor repairs it, openclaw status --all summarizes it, and openclaw backup snapshots its SQLite state and Git history before anything risky. Outbound traffic goes through a single command — openclaw message covers sends and channel actions across Discord, Slack, Telegram, Signal, WhatsApp, and the rest. For the in-session command set that pairs with this CLI, see the OpenClaw prompt & command reference.
Slash commands like /help, /status, and /compact run inside an active chat session and steer the conversation. The openclaw CLI runs in a terminal on the Gateway host and operates the platform itself — setup, channels, models, backups, and the Gateway process. One surface drives a session, the other administers the system.
Use the global flags. --dev keeps all state under ~/.openclaw-dev and moves the default Gateway port to 19001, while --profile <name> creates a fully separate state directory (~/.openclaw-<name>) with its own config and Gateway service. --container <name> goes one step further and runs the CLI inside a named Podman or Docker container.
Start with openclaw doctor, which pairs health checks with guided repairs. openclaw status --all produces a pasteable diagnostic covering channel health and recent session recipients, openclaw health gives a quick liveness read, and openclaw logs tails the Gateway when you need the raw stream.
The Gateway is OpenClaw's WebSocket server — channels, nodes, sessions, and hooks all attach to it. openclaw gateway starts, queries, and discovers gateways; most other CLI commands talk to a running Gateway rather than doing the work themselves, which is why the diagnostics above all route through it.
Yes — use My Stack to combine OpenClaw shortcuts with any other platform on this site into one printable reference, which is useful if your daily workflow spans multiple tools.
Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"