Video: "Full OpenClaw Setup Tutorial: Step-by-Step Walkthrough (Clawdbot)" by Metics Media on YouTube.
What OpenClaw actually is
OpenClaw is a free, MIT-licensed personal AI assistant you run on your own machine. The official tagline is "any OS, any platform, the lobster way." Underneath it's a small daemon — they call it the Gateway — that connects a model (Claude, GPT-5, Gemini, a local Ollama model) to whatever channels you'd actually like to talk to it on: Telegram, WhatsApp, Signal, iMessage, Slack, Discord, Microsoft Teams and roughly twenty more.
It is genuinely yours. Your messages, your model keys, your billing — nothing routes through a third-party SaaS. That's the appeal, and it's why we recommend it as the starting point for anyone who wants a daily-driver AI without becoming dependent on a vendor's web app.
Before you start
You need three things:
- Node.js 22.16 or newer (Node 24 is recommended). Run
node -vin a terminal to check. If you're on Windows, use WSL2 — OpenClaw is officially supported there and trying to run it in plain PowerShell will give you a bad time. - An API key for a model: Anthropic (Claude), OpenAI, Google AI Studio, or a local Ollama install if you want to keep everything offline.
- A messenger account you'd like the assistant to live in. Telegram is the easiest first choice — it takes thirty seconds to create a bot via
@BotFatherand there's no business approval queue.
You'll also need a machine that stays on. An old laptop on the corner of a desk works. So does a £5/month Hetzner VPS. So does a Mac Mini if you want it to feel permanent.
Step 1 — Install OpenClaw
Open a terminal and run:
npm install -g openclaw@latest
# or, if you prefer pnpm:
pnpm add -g openclaw@latest
That puts the openclaw command on your PATH. You can confirm with openclaw --version.
Step 2 — Run the onboarding wizard
This is the bit that does almost all the work for you:
openclaw onboard --install-daemon
The wizard walks you through four things in order: setting up the Gateway, creating your workspace folder at ~/.openclaw/, registering your first channel (you'll pick from the list), and bundling a starter set of skills. The --install-daemon flag also installs a launchd service on macOS or a systemd user unit on Linux, so OpenClaw restarts automatically when your machine boots.
Take the defaults the first time. You can rerun the wizard later, and you can edit anything by hand once you understand the layout.
Step 3 — Pick your model
OpenClaw stores its config at ~/.openclaw/openclaw.json. The minimum you care about is the agent.model field. Open the file and set it:
{
"agent": {
"model": "anthropic/claude-sonnet-4-6"
}
}
Other valid values include openai/gpt-5, google/gemini-2.5-pro, or ollama/llama3 if you'd rather run the model locally. The README's advice is sensible: "prefer a current flagship model from the provider you trust and already use."
Set the matching API key as an environment variable — ANTHROPIC_API_KEY, OPENAI_API_KEY, etc. Keep it out of the JSON file.
Step 4 — Connect Telegram (or your messenger of choice)
The wizard handles this, but here's what it actually does so you know what you're agreeing to:
- You message
@BotFatheron Telegram and create a new bot. He gives you a token. - You paste the token into the wizard.
- OpenClaw registers a webhook (or starts long-polling) and the bot goes live.
Substitute "Telegram" for "Slack" or "WhatsApp" or "Signal" and the shape is the same: get a token or pair a device, paste it in, the Gateway does the rest. WhatsApp Business and iMessage take longer because of platform-side approvals, so leave those for later.
Step 5 — Approve yourself as a user
This is the bit that catches everyone the first time. By default OpenClaw runs in pairing mode — unknown senders get back a one-time pairing code and the bot does not answer their message. This is on purpose. It means a stranger who finds your bot can't burn through your model credits.
Send your first message to the bot. You'll get a code. Back in your terminal, run:
openclaw pairing approve telegram 123456
Now message the bot again. This time you'll get a real answer from the model. You're live.
Step 6 — Run the doctor
Before you start adding skills, run:
openclaw doctor
It checks your config, the daemon's status, and — most importantly — flags risky settings like an open dmPolicy with no allowlist. Fix anything red before you tell other people the bot exists.
Step 7 — Add your first skill
A Skill is a Markdown file at ~/.openclaw/workspace/skills/<name>/SKILL.md that describes a task the assistant can do — schedule a reminder, summarise a URL, post to your blog, file an expense. The assistant only loads a Skill when it judges it relevant, so you can have hundreds of them without the model context bloating.
Start with one. A "daily standup" Skill that asks you three questions every morning at 09:00 and writes the answers to a file is a perfect first project — it proves the scheduling, the conversational flow and the file tools all work end to end. Restart the daemon after creating the file (openclaw gateway restart) and ask the bot "what skills do you have?"
The one-page checklist
- Node 22.16+ installed (
node -v). - OpenClaw installed globally:
npm install -g openclaw@latest. - Onboarded with daemon:
openclaw onboard --install-daemon. - Model picked in
~/.openclaw/openclaw.jsonand matching API key in your environment. - One channel connected (Telegram is easiest).
- Pairing code approved for your own number / handle.
openclaw doctorshows green.- One Skill dropped into the workspace and tested.
Common gotchas
"Command not found" after install. Your global npm bin folder isn't on your PATH. On macOS that's usually fixed with export PATH="$(npm config get prefix)/bin:$PATH" in your shell profile.
Telegram bot doesn't respond. Nine times out of ten you skipped the pairing approve step. Check the daemon log: tail -f ~/.openclaw/logs/gateway.log.
Daemon dies on reboot. You ran openclaw onboard without --install-daemon. Re-run the onboarding command with the flag.
Eye-watering token bills. You're using Claude Opus or GPT-5 as the default model and the assistant is being chatty. Drop to Sonnet, Haiku, or a local Ollama model for everyday traffic; reserve the flagship model for explicitly hard tasks via a Skill.
Where this connects to NordSys
Setting OpenClaw up well — the right model per task, sensible Skills, locked-down DM policy, channel approvals, hosting that stays up — is exactly the kind of thing that's "easy until it isn't." Our AI Agents service covers it as a fixed-price install, including the hosting on a VPS we manage so you never have to worry about your laptop running out of battery.
If you'd rather DIY with the checklist above, brilliant. If you'd rather skip the weekend and have it done for you with the right Skills already loaded for your business, that's what we're here for.