OpenClaw
Top-level overview of OpenClaw, features, and purpose
OpenClaw ๐ฆ
"EXFOLIATE! EXFOLIATE!" โ A space lobster, probably
Any OS + WhatsApp/Telegram/Discord/iMessage gateway for AI agents (Pi).
Plugins add Mattermost and more.
Send a message, get an agent response โ from your pocket.
GitHub ยท Releases ยท Docs ยท OpenClaw assistant setup
OpenClaw bridges WhatsApp (via WhatsApp Web / Baileys), Telegram (Bot API / grammY), Discord (Bot API / channels.discord.js), and iMessage (imsg CLI) to coding agents like Pi. Plugins add Mattermost (Bot API + WebSocket) and more. OpenClaw also powers the OpenClaw assistant.
Start here
- New install from zero: Getting Started
- Guided setup (recommended): Wizard (
openclaw onboard) - Open the dashboard (local Gateway): http://127.0.0.1:18789/ (or http://localhost:18789/)
If the Gateway is running on the same computer, that link opens the browser Control UI
immediately. If it fails, start the Gateway first: openclaw gateway.
Dashboard (browser Control UI)
The dashboard is the browser Control UI for chat, config, nodes, sessions, and more. Local default: http://127.0.0.1:18789/ Remote access: Web surfaces and Tailscale
How it works
WhatsApp / Telegram / Discord / iMessage (+ plugins)
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Gateway โ ws://127.0.0.1:18789 (loopback-only)
โ (single source) โ
โ โ http://<gateway-host>:18793
โ โ /__openclaw__/canvas/ (Canvas host)
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโ Pi agent (RPC)
โโ CLI (openclaw โฆ)
โโ Chat UI (SwiftUI)
โโ macOS app (OpenClaw.app)
โโ iOS node via Gateway WS + pairing
โโ Android node via Gateway WS + pairing
Most operations flow through the Gateway (openclaw gateway), a single long-running process that owns channel connections and the WebSocket control plane.
Network model
- One Gateway per host (recommended): it is the only process allowed to own the WhatsApp Web session. If you need a rescue bot or strict isolation, run multiple gateways with isolated profiles and ports; see Multiple gateways.
- Loopback-first: Gateway WS defaults to
ws://127.0.0.1:18789.- The wizard now generates a gateway token by default (even for loopback).
- For Tailnet access, run
openclaw gateway --bind tailnet --token ...(token is required for non-loopback binds).
- Nodes: connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.
- Canvas host: HTTP file server on
canvasHost.port(default18793), serving/__openclaw__/canvas/for node WebViews; see Gateway configuration (canvasHost). - Remote use: SSH tunnel or tailnet/VPN; see Remote access and Discovery.
Features (high level)
- ๐ฑ WhatsApp Integration โ Uses Baileys for WhatsApp Web protocol
- โ๏ธ Telegram Bot โ DMs + groups via grammY
- ๐ฎ Discord Bot โ DMs + guild channels via channels.discord.js
- ๐งฉ Mattermost Bot (plugin) โ Bot token + WebSocket events
- ๐ฌ iMessage โ Local imsg CLI integration (macOS)
- ๐ค Agent bridge โ Pi (RPC mode) with tool streaming
- โฑ๏ธ Streaming + chunking โ Block streaming + Telegram draft streaming details (/concepts/streaming)
- ๐ง Multi-agent routing โ Route provider accounts/peers to isolated agents (workspace + per-agent sessions)
- ๐ Subscription auth โ Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth
- ๐ฌ Sessions โ Direct chats collapse into shared
main(default); groups are isolated - ๐ฅ Group Chat Support โ Mention-based by default; owner can toggle
/activation always|mention - ๐ Media Support โ Send and receive images, audio, documents
- ๐ค Voice notes โ Optional transcription hook
- ๐ฅ๏ธ WebChat + macOS app โ Local UI + menu bar companion for ops and voice wake
- ๐ฑ iOS node โ Pairs as a node and exposes a Canvas surface
- ๐ฑ Android node โ Pairs as a node and exposes Canvas + Chat + Camera
Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.
Quick start
Runtime requirement: Node โฅ 22.
# Recommended: global install (npm/pnpm)
npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest
# Onboard + install the service (launchd/systemd user service)
openclaw onboard --install-daemon
# Pair WhatsApp Web (shows QR)
openclaw channels login
# Gateway runs via the service after onboarding; manual run is still possible:
openclaw gateway --port 18789
Switching between npm and git installs later is easy: install the other flavor and run openclaw doctor to update the gateway service entrypoint.
From source (development):
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build
openclaw onboard --install-daemon
If you donโt have a global install yet, run the onboarding step via pnpm openclaw ... from the repo.
Multi-instance quickstart (optional):
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001
Send a test message (requires a running Gateway):
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
Configuration (optional)
Config lives at ~/.openclaw/openclaw.json.
- If you do nothing, OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.
- If you want to lock it down, start with
channels.whatsapp.allowFromand (for groups) mention rules.
Example:
{
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: { "*": { requireMention: true } },
},
},
messages: { groupChat: { mentionPatterns: ["@openclaw"] } },
}
Docs
- Start here:
- Docs hubs (all pages linked)
- Help โ common fixes + troubleshooting
- Configuration
- Configuration examples
- Slash commands
- Multi-agent routing
- Updating / rollback
- Pairing (DM + nodes)
- Nix mode
- OpenClaw assistant setup
- Skills
- Skills config
- Workspace templates
- RPC adapters
- Gateway runbook
- Nodes (iOS/Android)
- Web surfaces (Control UI)
- Discovery + transports
- Remote access
- Providers and UX:
- Companion apps:
- Ops and safety:
The name
OpenClaw = CLAW + TARDIS โ because every space lobster needs a time-and-space machine.
"We're all just playing with our own prompts." โ an AI, probably high on tokens
Credits
- Peter Steinberger (@steipete) โ Creator, lobster whisperer
- Mario Zechner (@badlogicc) โ Pi creator, security pen-tester
- Clawd โ The space lobster who demanded a better name
Core Contributors
- Maxim Vovshin (@Hyaxia, 36747317+Hyaxia@users.noreply.github.com) โ Blogwatcher skill
- Nacho Iacovino (@nachoiacovino, nacho.iacovino@gmail.com) โ Location parsing (Telegram + WhatsApp)
License
MIT โ Free as a lobster in the ocean ๐ฆ
"We're all just playing with our own prompts." โ An AI, probably high on tokens