OpenClaw is having a moment. In the last week alone it’s been covered by Bloomberg, the BBC, and the South China Morning Post. China is restricting it from government networks. Meta acquired a product built with it. It’s one of the fastest-growing open-source projects in GitHub history.
If you’re a developer and you haven’t looked at it yet, now is the time.
This guide is a practical walkthrough — no hype, no hand-holding. We’re going from zero to a running agent in under 20 minutes on macOS. By the end you’ll have OpenClaw installed, connected, and ready to automate things that actually matter to you.
What Is OpenClaw, Exactly?
OpenClaw is a self-hosted personal AI assistant with a local gateway daemon that runs on your machine. You wire it up to the chat surfaces you already use — WhatsApp, Telegram, Slack, Discord, iMessage, Signal, and about 20 others — and then it becomes an always-on agent you can DM to get things done.
The key distinction from tools like Zapier or n8n: OpenClaw isn’t a workflow builder you click through in a browser. It’s a programmable agent runtime. You extend it with Skills (think: npm packages for agent capabilities), write code in your workspace, and the agent executes tasks on your behalf — autonomously, on a schedule, or on demand.
For developers building passive income streams, that’s meaningful. Your agent can manage your blog, check your email, monitor GitHub repos, run data pipelines, or handle customer service — all without you being at a keyboard.
Let’s set it up.
Prerequisites
Before you start, make sure you have:
Node.js 24 (recommended) or Node 22.16+ (still supported)
node --version
# Should output v24.x.x or v22.16+
If you’re not on the right version, use nvm:
nvm install 24
nvm use 24
A supported AI model API key. OpenClaw works with any major provider — OpenAI, Anthropic, Google, and others. For best results and lower prompt-injection risk, use the strongest model you have access to. OpenAI and Anthropic Claude are the two most battle-tested options with OpenClaw.
npm, pnpm, or bun. Standard npm works fine for most setups. pnpm is preferred if you’re building from source.
macOS with Terminal access. This guide is macOS-focused. OpenClaw also runs on Linux natively and Windows via WSL2 — the commands are the same once you’re in a Unix shell.
That’s it. No Docker required for a standard install. No cloud accounts. Everything runs locally.
Installation
OpenClaw ships a one-liner install script that handles the npm global install, binary linking, and initial directory setup:
curl -fsSL https://openclaw.ai/install.sh | bash
This pulls down the latest stable release and installs the openclaw CLI globally. When it finishes, verify it worked:
openclaw --version
Prefer npm directly? You can also install manually:
npm install -g openclaw@latest
Or with pnpm:
pnpm add -g openclaw@latest
Building from source (if you want to hack on it or run the dev channel):
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build
For most developers, the one-liner is the right call. Save the source build for when you want to contribute or extend internals.
Onboarding Walkthrough
This is the step most people underestimate. The onboarding wizard does a lot of work: it configures auth, sets up your model, installs the gateway as a background service (launchd on macOS, systemd on Linux), and optionally connects your first channel.
Run it with:
openclaw onboard --install-daemon
The --install-daemon flag is important. It registers the OpenClaw gateway as a persistent background service so it survives reboots and runs 24/7 — which is what you want if you’re building automation workflows.
What the wizard asks you:
- Model provider + API key — Pick your provider and paste in your key. It gets stored locally in your config, never sent anywhere except directly to the model API.
- Gateway port — Default is
18789. Unless you have a conflict, leave it. - Workspace directory — This is where your agent’s memory, skills, and custom files live. Default is
~/.openclaw/workspace. You can change it, but the default is sensible. - Channel setup (optional) — Connect Telegram, WhatsApp, Discord, or any other channel now, or skip and do it later. If you’re just testing, skip this and use the web UI.
Once the wizard finishes, check that the gateway is running:
openclaw gateway status
You should see something like:
● openclaw-gateway.service — running (pid 12345)
Gateway: http://127.0.0.1:18789
Model: anthropic/claude-sonnet-4-6
Workspace: /Users/yourname/.openclaw/workspace
If it’s not running, start it manually:
openclaw gateway start
Then open the Control UI:
openclaw dashboard
This launches the web interface at http://127.0.0.1:18789/. If you see the chat window, you’re live.
Your First Agent Test
With the dashboard open, send your agent a message. Start simple:
What's today's date and what tools do you have access to?
A healthy agent should respond with the current date and a list of its available tools — things like web search, file read/write, shell execution, and any skills you’ve installed.
Now try something with real utility. If you have web search enabled:
Search for the latest OpenClaw release notes and summarize what's new.
Or if you want to test filesystem access:
List the files in my workspace and tell me what's there.
If the agent responds accurately and takes action (not just text), your setup is working correctly.
Testing from your phone (optional but recommended):
If you connected Telegram or WhatsApp during onboarding, DM your bot from your phone. This is the experience you’re actually building toward — an agent you can reach from anywhere.
One security note: by default, OpenClaw uses a pairing policy for incoming DMs. Unknown senders get a pairing code instead of agent access. To approve your own phone number:
openclaw pairing approve
Follow the prompts. After that, your device is on the allowlist and your DMs go straight to the agent.
What to Build Next
Getting OpenClaw running is step one. The leverage comes from what you wire it up to.
Here’s what developers on agentincome.io are building with it:
Automated content pipelines. Your agent can research topics, write drafts, and commit them to a git repo on a schedule. That’s roughly what this blog runs on. We’ll publish a full tutorial on this soon.
Passive income monitoring. Connect your agent to your revenue dashboards — Stripe, Gumroad, affiliate networks — and have it send you a daily summary DM. Set up cron jobs for weekly reports. No dashboard-checking required.
Client-facing AI agents. Build a skill that handles customer questions for a SaaS product you’ve shipped. The agent answers from a knowledge base you define. Scales to multiple clients without extra headcount.
Agentic coding workflows. OpenClaw can spawn sub-agents (via its sessions_spawn API) that run Codex or Claude Code in isolated sessions. You brief the agent with a task, it spins up a coder, and returns a PR. We’ll cover this in depth in an upcoming piece on agentic coding for passive income.
Skills to install first:
coding-agent— delegates coding tasks to Codex or Claude Codeweather— simple but useful for testinggh-issues— fetches GitHub issues and spawns agents to fix them- Browse the full catalog at clawhub.com
The architecture is intentionally extensible. Skills are just directories with a SKILL.md file that the agent reads as instructions. If you can write a markdown doc and some shell scripts, you can build a skill.
Wrapping Up
OpenClaw is the kind of tool that compounds. The first day you spend setting it up. The second day you connect a channel and run your first automated task. By week two, it’s handling things you used to do manually — and you’re thinking about what to build on top of it.
For developers interested in passive income, the ROI calculation is simple: the more you automate, the more you can ship and maintain without proportional time investment. OpenClaw is the runtime that makes that possible.
The short version of what you did today:
- Installed OpenClaw via the one-liner script
- Ran the onboarding wizard with
--install-daemonto register the persistent service - Verified the gateway with
openclaw gateway status - Opened the Control UI and ran your first agent test
- (Optionally) connected a mobile channel and approved your device
Next steps:
- Connect your preferred messaging channel if you haven’t:
openclaw onboard(channel setup only) - Browse available skills at clawhub.com
- Read the security guide before exposing the gateway externally: docs.openclaw.ai/gateway/security