OpenClaw is an open-source AI assistant that runs on your own computer and answers you inside the chat apps you already use, including WhatsApp, Telegram, Slack, Discord, iMessage and Teams. Installing it takes one script or one npm command, followed by an onboarding wizard. WhatsApp links by QR code, Telegram links with a BotFather token, and tool sandboxing is off until you turn it on.
The project is MIT-licensed and stewarded by the OpenClaw Foundation, a 501(c)(3). The README states that there is no paid tier, hosted service or token. You supply the model, either a hosted provider or a local one, and you pay that provider directly. On October 22, 2026, the openclaw/openclaw repository had about 393,000 GitHub stars, and the latest release was v2026.10.5, published October 18.
Installing OpenClaw
The official installer works on macOS, Linux, WSL2 and Windows, and it installs a supported Node.js runtime if one is missing:
macOS, Linux or WSL2:
curl -fsSL https://openclaw.ai/install.sh | bash
Windows PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
If you already manage Node.js, install the npm package instead. It needs Node 24.16+ or 26.1+, and the project recommends Node 26:
npm install -g openclaw@latest --allow-scripts=openclaw
openclaw onboard --install-daemon
The --allow-scripts flag is for npm 12 or npm 11.16 and later; leave it out on npm 11.15 and earlier. The installer script launches onboarding automatically. Onboarding checks model access, creates the workspace and configures the Gateway, the local control plane that holds sessions, tools and channel connections. Then confirm it is running:
openclaw gateway status
openclaw dashboard
openclaw dashboard opens the Control UI. Send a message there before you connect any chat app.
Connecting WhatsApp
WhatsApp support runs through WhatsApp Web (the Baileys library), and the Gateway owns the linked session. There is no Twilio route. The channel ships as a separate plugin, @openclaw/whatsapp. Onboarding offers to install it the first time you pick WhatsApp, and openclaw plugins install @openclaw/whatsapp installs it manually.
- Set an access policy in the config before linking, so only your numbers get through:
{
channels: {
whatsapp: {
dmPolicy: "pairing",
allowFrom: ["+15551234567"],
groupPolicy: "allowlist",
groupAllowFrom: ["+15551234567"],
},
},
}
- Link the account. Login works by QR code only, so on a headless server you need a reliable way to get the live code to your phone:
openclaw channels login --channel whatsapp
openclaw gateway
- Approve the first sender, either in Settings → Channels → DM access requests or from the CLI:
openclaw pairing list whatsapp
openclaw pairing approve whatsapp <CODE>
Access requests expire after an hour, and each account holds at most three pending requests. The docs recommend a separate WhatsApp number for the assistant. A personal number also works: onboarding then writes an allowlist containing your own number and turns on self-chat mode.
Connecting Telegram
Telegram uses a regular bot account, with long polling by default and webhooks as an option.
- In Telegram, message @BotFather (check the handle exactly), run
/newbotand save the token. - Hand the token to OpenClaw:
openclaw channels add --channel telegram --token <bot-token>
openclaw channels status --probe
You can also put it in ~/.openclaw/openclaw.json under channels.telegram.botToken, or set TELEGRAM_BOT_TOKEN for the default account. Telegram does not use openclaw channels login.
- Send your bot a message, then approve the pairing code within an hour:
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
In groups, the example config sets requireMention: true, so the bot only answers when tagged. Group chat IDs that begin with -100 go under channels.telegram.groups, not groupAllowFrom.
Security Defaults
On a normal host install, the Gateway binds to loopback. Unknown DM senders get a pairing code instead of a reply, and groups are allowlisted. Docker images are the exception: they bind to an exposed address by default, and the docs say to pair that with authentication. To check whether a setup has drifted from the defaults, run:
openclaw security audit
The security guide assumes one trust boundary per Gateway, meaning a single operator or a team whose members trust each other. For users who don't trust each other, the docs recommend a separate Gateway and credentials, ideally on separate OS users or hosts. By default, agents with the message tool can also send across conversations and providers; confining that is a separate setting.
Sandbox Settings
The README is blunt: tools run on the host for the main session unless you configure sandboxing. Sandboxing moves tool execution, not the Gateway, into a container or a remote environment. Three settings control it:
| Setting | Key | Values | Default |
|---|---|---|---|
| Mode | agents.defaults.sandbox.mode |
off, non-main, all |
off |
| Scope | agents.defaults.sandbox.scope |
agent, session, shared |
agent |
| Backend | agents.defaults.sandbox.backend |
docker, podman, ssh, openshell, crabbox |
docker |
non-main sandboxes everything except the agent's main session. Group and channel chats have their own session keys, so in this mode a WhatsApp group always runs sandboxed. A fourth setting, workspaceAccess, decides what the sandbox can see. The default none gives it a separate workspace under ~/.openclaw/sandboxes, ro mounts the agent workspace read-only and rw mounts it read-write.
The docs' minimal starting point:
{
agents: {
defaults: {
sandbox: {
mode: "non-main",
scope: "session",
workspaceAccess: "none",
},
},
},
}
The Docker backend starts locked down: network: "none" (no outbound traffic), a read-only root filesystem, all Linux capabilities dropped, and the openclaw-sandbox:trixie-slim image. Two caveats from the docs: the sandbox "is not a perfect security boundary", and tools.elevated remains an escape hatch that runs exec outside it. To block exec completely, deny it in tool policy. openclaw sandbox explain prints the sandbox settings a session actually ends up with.
Usage on AI Rank
OpenClaw reports its traffic to OpenRouter as an app. In the week of October 10 to 16, 2026, it ranked #7 among OpenRouter apps with 2.66 trillion tokens, behind Hermes Agent, Claude Code, Kilo Code, Cline, pi and Freebuff. That figure only covers requests routed through OpenRouter, not people running local models or other providers.
→ Project ranking: openclaw/openclaw on AI Rank — daily GitHub star growth
For a hosted agent that needs no setup, Grok Bot runs on a vendor-managed cloud computer instead, billed through a subscription.
Keep exploring: see which agents and coding tools draw the most tokens in the AI app rankings on AI Rank.
Or 📱 get the AI Rank app to follow them on your phone.
Sources
- GitHub: openclaw/openclaw README
- OpenClaw docs: Install
- OpenClaw docs: WhatsApp
- OpenClaw docs: Telegram setup
- OpenClaw docs: Security
- OpenClaw docs: Sandboxing
- OpenClaw website
Prepared with automated editorial assistance and checked on October 22, 2026 against the openclaw/openclaw repository, the OpenClaw documentation and AI Rank's OpenRouter app data. OpenClaw was not installed for this article.