OpenClaw Commands Cheat Sheet: All CLI Commands Explained
Let me be real with you — when I first started with OpenClaw, I spent way too much time googling the same commands over and over. I'd forget the exact syntax for channel configuration, or I'd waste 20 minutes trying to figure out why my gateway wouldn't start, only to realize I forgot a simple flag.
This OpenClaw commands cheat sheet is the resource I wish I had back then. I'm going to walk you through every command I actually use in my daily workflow, explain what they do in plain English, and share some real-world examples from how I use them.
No fluff. No overly technical jargon. Just the commands you need to actually get stuff done with OpenClaw.
Content
What Is OpenClaw CLI and How It Works?
OpenClaw is a self-hosted AI gateway that lets you connect platforms like WhatsApp, Telegram, Discord, and Slack to AI agents. The CLI (Command Line Interface) is how you control everything — from starting your gateway to managing channels, scheduling tasks, and debugging issues.
Here's the thing that took me a while to understand: OpenClaw follows a consistent naming pattern that makes commands predictable. Almost every command uses the structure openclaw <noun> [subcommand]. The nouns are almost always plural — models, channels, skills, agents, plugins — with a few exceptions like gateway, doctor, and config.
Once you get this pattern, the CLI starts feeling much more intuitive. You won't need to memorize every command; you can guess most of them based on what you want to do.
The CLI is built on Node.js, and it works the same way whether you're on macOS, Linux, or Windows. The commands I'll show you work across all platforms, though I'll note any Windows-specific quirks along the way.
🚀 Nut Studio makes OpenClaw easy to deploy
Nut Studio lets you run OpenClaw with one click, no setup or coding required. Log in to enjoy 30 free points!
OpenClaw Commands Cheat Sheet
1 Gateway Management Commands
The gateway is the heart of OpenClaw — it's the background service that keeps everything running. Here's what you need to know:
Starting and stopping your gateway is something you'll do often, especially after making configuration changes. Running openclaw gateway run starts it in the foreground, which is useful for debugging. For normal operation, I use the service commands: openclaw gateway start, stop, and restart.
One thing I learned the hard way: any time you change your config file, you need to restart the gateway for those changes to take effect. This is probably the single most common issue people run into when they're first getting started.
| Command | What It Does |
|---|---|
openclaw gateway run |
Start in foreground (debugging mode) |
openclaw gateway start |
Start as background service |
openclaw gateway stop |
Stop the service |
openclaw gateway restart |
Restart (applies config changes) |
openclaw gateway install |
Install as system service |
openclaw gateway status |
Check service health |
openclaw gateway health |
Quick health check |
You can also add useful flags like --port 18790 to change the default port, or --auth token --token "your-secret" to set up authentication. The --tailscale flag lets you integrate with Tailscale for remote access.
2 Status and Health Checks
When something isn't working right, these are the first commands I reach for:
openclaw status gives you a quick overview of everything. Add --deep if you want it to actually probe your channels (WhatsApp, Telegram, Discord, etc.) and verify they're responding. The deep scan takes a few extra seconds, but it's worth it when you're debugging.
openclaw doctor is my go-to command when I'm not sure what's wrong. It runs health checks and can even auto-fix many common issues. Running openclaw doctor --fix will attempt repairs with confirmations, or add --non-interactive if you want it to just do its thing without asking.
| Command | What It Does | When to Use |
|---|---|---|
openclaw status |
Shows system overview | Quick check |
openclaw status --deep |
Deep check for channels | Debugging issues |
openclaw doctor |
Runs diagnostics | Unknown errors |
openclaw doctor --fix |
Attempts auto-repair | Fix common issues |
openclaw doctor --non-interactive |
Auto-fix without prompts | Automation |
3 Logs Command
Reading logs is essential for troubleshooting. Here's how I use it:
openclaw logs shows you the last 500 lines by default. Add --follow to stream logs in real-time — this is incredibly useful when you're watching something happen live. I often combine this with local timestamps: openclaw logs --follow --local-time.
For filtering, you can use JSON output with jq. Something like openclaw logs --json | jq '.level == "error"' will show you only the error messages. The --limit flag lets you control how many lines to show.
| Command | What It Does | When to Use |
|---|---|---|
openclaw logs |
Shows recent logs | Basic debugging |
openclaw logs --follow |
Real-time logs | Live monitoring |
openclaw logs --follow --local-time |
Adds timestamps | Better readability |
openclaw logs --json |
Outputs JSON logs | Filtering |
openclaw logs --json | jq '.level == "error"' |
Filter errors only | Debugging |
openclaw logs --limit |
Control log size | Performance |
4 Channels Commands
Channels are how OpenClaw connects to messaging platforms. The commands here follow the same pattern: openclaw channels <action>.
Listing and checking status is straightforward: openclaw channels list shows all configured channels, and openclaw channels status checks their health. Want to probe a specific channel? Use --channel telegram or --channel discord.
Adding a channel is interactive in most cases: openclaw channels add --channel telegram will walk you through the setup. You can also pass tokens directly: openclaw channels add --channel telegram --token $TELEGRAM_BOT_TOKEN.
Removing channels works the same way: openclaw channels remove --channel telegram. Add --delete if you want it to wipe all associated data.
| Command | What It Does | When to Use |
|---|---|---|
openclaw channels list |
List all channels | Overview |
openclaw channels status |
Check health | Troubleshooting |
openclaw channels add --channel telegram |
Add channel (interactive) | Setup |
openclaw channels add --channel telegram --token |
Add with token | Automation |
openclaw channels remove --channel telegram |
Remove channel | Cleanup |
openclaw channels remove --delete |
Remove + delete data | Full reset |
5 Models Commands
Setting up your AI models is crucial. The openclaw models commands let you manage this:
openclaw models list shows all available models, and openclaw models set <model> sets your primary model. You can also set separate image models with openclaw models set-image <model>.
Authentication for model providers is handled through openclaw models auth add or openclaw models auth login.
| Command | What It Does | When to Use |
|---|---|---|
openclaw models list |
Show available models | Exploration |
openclaw models set <model> |
Set main model | Configuration |
openclaw models set-image <model> |
Set image model | Image tasks |
openclaw models auth add |
Add credentials | Setup |
openclaw models auth login |
Login to provider | Authentication |
6 Agents Commands
Agents let you run isolated AI workers with their own workspaces and identities. This is where OpenClaw gets really powerful.
openclawagents list shows all your configured agents, and --bindings adds info about which channels they're connected to. Adding a new agent is done with openclaw agents add <name>, though in non-interactive mode you'll need to specify --workspace ~/.openclaw/myagent.
The binding system is clever — you can route specific channels or even specific accounts to specific agents using syntax like telegram:alerts or discord:work.
| Command | What It Does | When to Use |
|---|---|---|
openclaw agents list |
List agents | Overview |
openclaw agents list --bindings |
Show channel bindings | Debugging |
openclaw agents add <name> |
Create agent | Setup |
openclaw agents add --workspace |
Custom workspace | Advanced setup |
7 Cron Jobs
Scheduling tasks is one of OpenClaw's superpowers. The openclaw cron commands handle this:
openclaw cron list shows all your scheduled jobs. Creating one is done with openclaw cron add, which starts an interactive wizard. You'll define timing (either a one-time --at or recurring patterns), what the job should do, and where to send output.
Failed jobs retry with exponential backoff — 30 seconds, then 1 minute, then 5 minutes, and so on. You can disable a job without deleting it using openclaw cron disable <id>, and manually trigger a job with openclaw cron run <id>.
| Command | What It Does | When to Use |
|---|---|---|
openclaw cron list |
List jobs | Overview |
openclaw cron add |
Create job | Scheduling |
openclaw cron disable <id> |
Disable job | Pause |
openclaw cron run <id> |
Run manually | Testing |
8 Skills Commands
Skills extend OpenClaw's capabilities. They're installed from ClawHub and managed with these commands:
openclaw skills search <query> finds available skills. openclaw skills install <slug> installs one, and you can specify versions or use --force to reinstall. openclaw skills list shows what you have installed, and openclaw skills check gives you a summary of which skills are ready versus which are missing requirements.
| Command | What It Does | When to Use |
|---|---|---|
openclaw skills search <query> |
Find skills | Discovery |
openclaw skills install <slug> |
Install skill | Setup |
openclaw skills install --force |
Reinstall | Fix issues |
openclaw skills list |
List installed | Overview |
openclaw skills check |
Check status | Debugging |
9 Config Commands
The config system uses dot notation for paths. openclaw config get gateway.port reads a specific value, openclaw config set gateway.port 19001 changes it, and openclaw config unset gateway.tailscale removes a setting.
Important note: after changing config, you must restart the gateway for changes to apply. Also, values are parsed as JSON5 by default, meaning true becomes a boolean, not the string "true".
| Command | What It Does | When to Use |
|---|---|---|
openclaw config get <path> |
Read config | Check values |
openclaw config set <path> <value> |
Update config | Change settings |
openclaw config unset <path> |
Remove config | Cleanup |
10 Memory and Wiki Commands
For more advanced users, OpenClaw has vector memory and wiki systems. openclaw memory search "<query>" does semantic searches across your memory files, while openclaw memory index rebuilds the search index.
The wiki commands handle documentation: openclaw wiki init sets up a wiki, openclaw wiki ingest adds content, and openclaw wiki compile builds the searchable index.
| Command | What It Does | When to Use |
|---|---|---|
openclaw memory search "<query>" |
Semantic search | Find info |
openclaw memory index |
Rebuild index | Fix search |
openclaw wiki init |
Create wiki | Setup |
openclaw wiki ingest |
Add content | Documentation |
openclaw wiki compile |
Build index | Enable search |
Real Examples: How I Use OpenClaw Commands
Let me walk you through some real scenarios where these commands save me time.
Scenario 1: My Discord bot stopped responding
Instead of panicking, I run through a quick checklist. First, openclaw status --deep to see if the gateway and channels are healthy. If that looks okay, I check the logs with openclaw logs --follow --local-time to see what's happening in real-time. Often the issue is clear from the error messages. If nothing stands out, openclaw doctor --fix often finds and fixes the problem automatically.
Scenario 2: I need to set up a new Telegram bot
I run openclaw channels add --channel telegram and follow the interactive prompts. It asks for my bot token, lets me name the channel, and handles the setup. Once done, I verify it works with openclaw channels status --channel telegram.
Scenario 3: Scheduling a daily report
I use openclaw cron add to create a job that runs my research agent every morning. I set it to deliver results to my Telegram channel so I can read them with coffee. The cron system handles retries if the job fails, and I can check run history with openclaw cron runs.
Scenario 4: Debugging a misbehaving agent
If an agent isn't responding correctly, I check its bindings with openclaw agents list --bindings. If it looks right, I tail the logs looking for errors from that agent's session. The --json output with jq filtering makes it easy to find relevant entries.
Tips to Use OpenClaw Commands More Efficiently
After using OpenClaw daily for months, here are the things that have saved me the most time:
- Restart after config changes: This can't be stressed enough. Almost every configuration problem I've had (and seen others have) was solved by
openclaw gateway restart. The gateway reads its config at startup, so changes don't apply until you restart. - Use
--deepfor debugging channels: When a channel goes silent,openclaw status --deepsends test messages and reports back. It is more thorough than a quick status check. - Doctor before digging: Before spending time on logs, run
openclaw doctor --fix. It detects common issues and can auto-fix them. It also creates a backup before applying changes, so you can restore if needed. - Learn the naming pattern: OpenClaw follows a
openclaw <noun> <verb>structure (often plural nouns). You can often guess commands logically, such asopenclaw channels add. - Use shell completion: Running
openclaw completion --installenables tab completion in your shell, making commands faster and reducing typos. - Check JSON output: Many commands support
--json, which is useful for scripting and filtering with tools likejq. - Bookmark the official docs: The OpenClaw CLI reference at
docs.openclaw.ai/cliis the most up-to-date source for commands and options.
Is There an Easier Way to Use OpenClaw?
Here's where I want to share something that's made a real difference in my workflow.
While the CLI is powerful and gives you complete control, there are moments when a visual interface would be nice. That's where Nut Studio comes in. It's designed to work alongside OpenClaw, giving you a dashboard view of your gateway, channels, agents, and scheduled tasks.
🚀 Nut Studio makes OpenClaw easy to deploy
Nut Studio lets you run OpenClaw with one click, no setup or coding required. Log in to enjoy 30 free points!
I'm not saying you should replace the CLI — honestly, I still use it every day for most tasks. But having Nut Studio open in a browser tab gives me that quick overview when I need to check multiple things at once. It's especially useful when I'm explaining the system to someone else or when I want to see status across all channels without running several commands.
Think of it as a complement to the CLI, not a replacement. The CLI gives you precision and scripting capabilities; Nut Studio gives you visibility and quick navigation.
If you're interested, Nut Studio has its own setup that works alongside your existing OpenClaw installation. The two tools complement each other well, and you can switch between them depending on what you're trying to do.
Conclusion
The OpenClaw CLI is your control center for everything the platform can do. While it might seem overwhelming at first with 40+ top-level commands, the consistent naming pattern makes it learnable. Focus on the commands you actually use: gateway management, status checks, logs, and channel configuration.
My recommendation: start with the basics I've outlined above. Run through the onboarding process, set up one channel, and get comfortable with restarting your gateway. From there, gradually explore agents, cron jobs, and skills as you need them.
Bookmark this cheat sheet for quick reference, and don't hesitate to use openclaw doctor --fix when something goes wrong. The community is active and helpful if you get stuck, but a lot of common issues resolve themselves with a simple gateway restart.
OpenClaw is a powerful tool, and understanding its commands is the key to getting the most out of it. Happy automating!