2025-12-09 17:51:05 +00:00
---
2026-01-30 03:15:10 +01:00
summary: "Top-level overview of OpenClaw, features, and purpose"
2025-12-09 17:51:05 +00:00
read_when:
2026-01-30 03:15:10 +01:00
- Introducing OpenClaw to newcomers
2025-12-09 17:51:05 +00:00
---
2025-12-03 15:45:32 +00:00
2026-01-31 21:13:13 +09:00
# OpenClaw 🦞
2025-12-03 15:45:32 +00:00
2026-01-31 21:13:13 +09:00
> _"EXFOLIATE! EXFOLIATE!"_ — A space lobster, probably
2026-01-30 06:14:12 +01:00
< p align = "center" >
2026-01-31 09:55:59 -05:00
< img
src="/assets/openclaw-logo-text-dark.png"
alt="OpenClaw"
width="500"
class="dark:hidden"
/>
< img
src="/assets/openclaw-logo-text.png"
alt="OpenClaw"
width="500"
class="hidden dark:block"
/>
2025-12-13 13:25:49 +00:00
< / p >
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
< p align = "center" >
2026-01-23 00:19:23 +00:00
< strong > Any OS + WhatsApp/Telegram/Discord/iMessage gateway for AI agents (Pi).< / strong > < br / >
Plugins add Mattermost and more.
2025-12-13 13:25:49 +00:00
Send a message, get an agent response — from your pocket.
< / p >
2025-12-05 17:51:11 +00:00
2025-12-13 13:25:49 +00:00
< p align = "center" >
2026-01-30 03:15:10 +01:00
< a href = "https://github.com/openclaw/openclaw" > GitHub< / a > ·
< a href = "https://github.com/openclaw/openclaw/releases" > Releases< / a > ·
2026-01-10 14:51:21 -06:00
< a href = "/" > Docs< / a > ·
2026-01-30 03:15:10 +01:00
< a href = "/start/openclaw" > OpenClaw assistant setup< / a >
2025-12-13 13:25:49 +00:00
< / p >
2025-12-03 15:45:32 +00:00
2026-01-30 03:15:10 +01:00
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 ](https://github.com/badlogic/pi-mono ). Plugins add Mattermost (Bot API + WebSocket) and more.
OpenClaw also powers the OpenClaw assistant.
2025-12-13 13:25:49 +00:00
2026-01-06 19:56:22 +00:00
## Start here
2026-01-10 14:51:21 -06:00
- **New install from zero:** [Getting Started ](/start/getting-started )
2026-01-30 03:15:10 +01:00
- **Guided setup (recommended):** [Wizard ](/start/wizard ) (`openclaw onboard` )
2026-01-07 00:41:31 +01:00
- **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
2026-01-30 03:15:10 +01:00
immediately. If it fails, start the Gateway first: `openclaw gateway` .
2026-01-07 00:41:31 +01:00
## 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/
2026-01-10 14:51:21 -06:00
Remote access: [Web surfaces ](/web ) and [Tailscale ](/gateway/tailscale )
2026-01-06 19:56:22 +00:00
2026-01-30 06:55:15 +01:00
< p align = "center" >
< img src = "whatsapp-openclaw.jpg" alt = "OpenClaw" width = "420" / >
< / p >
2025-12-13 13:25:49 +00:00
## How it works
2025-12-03 15:45:32 +00:00
```
2026-01-23 00:19:23 +00:00
WhatsApp / Telegram / Discord / iMessage (+ plugins)
2025-12-14 00:50:41 +00:00
│
▼
2026-01-06 19:56:22 +00:00
┌───────────────────────────┐
2025-12-14 00:50:41 +00:00
│ Gateway │ ws://127.0.0.1:18789 (loopback-only)
2026-01-22 23:07:58 +00:00
│ (single source) │
2026-01-06 19:56:22 +00:00
│ │ http://< gateway-host > :18793
2026-01-30 03:15:10 +01:00
│ │ /__openclaw__/canvas/ (Canvas host)
2025-12-14 00:50:41 +00:00
└───────────┬───────────────┘
│
├─ Pi agent (RPC)
2026-01-30 03:15:10 +01:00
├─ CLI (openclaw …)
2025-12-17 23:05:28 +01:00
├─ Chat UI (SwiftUI)
2026-01-30 03:15:10 +01:00
├─ macOS app (OpenClaw.app)
2026-01-22 23:07:58 +00:00
├─ iOS node via Gateway WS + pairing
└─ Android node via Gateway WS + pairing
2025-12-03 15:45:32 +00:00
```
2026-01-30 03:15:10 +01:00
Most operations flow through the **Gateway** (`openclaw gateway` ), a single long-running process that owns channel connections and the WebSocket control plane.
2025-12-13 13:25:49 +00:00
2025-12-14 00:50:41 +00:00
## Network model
2026-01-15 18:08:20 +01:00
- **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 ](/gateway/multiple-gateways ).
2025-12-18 22:40:46 +00:00
- **Loopback-first**: Gateway WS defaults to `ws://127.0.0.1:18789` .
2026-01-11 01:51:07 +01:00
- The wizard now generates a gateway token by default (even for loopback).
2026-01-30 03:15:10 +01:00
- For Tailnet access, run `openclaw gateway --bind tailnet --token ...` (token is required for non-loopback binds).
2026-01-22 23:07:58 +00:00
- **Nodes**: connect to the Gateway WebSocket (LAN/tailnet/SSH as needed); legacy TCP bridge is deprecated/removed.
2026-01-30 03:15:10 +01:00
- **Canvas host**: HTTP file server on `canvasHost.port` (default `18793` ), serving `/__openclaw__/canvas/` for node WebViews; see [Gateway configuration ](/gateway/configuration ) (`canvasHost` ).
2026-01-10 14:51:21 -06:00
- **Remote use**: SSH tunnel or tailnet/VPN; see [Remote access ](/gateway/remote ) and [Discovery ](/gateway/discovery ).
2025-12-14 00:50:41 +00:00
2025-12-13 13:25:49 +00:00
## Features (high level)
2025-12-03 15:45:32 +00:00
- 📱 **WhatsApp Integration** — Uses Baileys for WhatsApp Web protocol
2025-12-13 13:25:49 +00:00
- ✈️ **Telegram Bot** — DMs + groups via grammY
2026-01-13 06:16:43 +00:00
- 🎮 **Discord Bot** — DMs + guild channels via channels.discord.js
2026-01-23 00:19:23 +00:00
- 🧩 **Mattermost Bot (plugin)** — Bot token + WebSocket events
2026-01-02 01:19:22 +01:00
- 💬 **iMessage** — Local imsg CLI integration (macOS)
2025-12-13 13:25:49 +00:00
- 🤖 **Agent bridge** — Pi (RPC mode) with tool streaming
2026-01-07 17:15:53 +01:00
- ⏱️ **Streaming + chunking** — Block streaming + Telegram draft streaming details ([/concepts/streaming ](/concepts/streaming ))
2026-01-06 18:25:52 +00:00
- 🧠 **Multi-agent routing** — Route provider accounts/peers to isolated agents (workspace + per-agent sessions)
2026-01-05 06:35:43 +01:00
- 🔐 **Subscription auth** — Anthropic (Claude Pro/Max) + OpenAI (ChatGPT/Codex) via OAuth
2025-12-14 00:50:41 +00:00
- 💬 **Sessions** — Direct chats collapse into shared `main` (default); groups are isolated
2025-12-22 20:36:34 +01:00
- 👥 **Group Chat Support** — Mention-based by default; owner can toggle `/activation always|mention`
2025-12-03 15:45:32 +00:00
- 📎 **Media Support** — Send and receive images, audio, documents
2025-12-13 13:25:49 +00:00
- 🎤 **Voice notes** — Optional transcription hook
2025-12-14 00:50:41 +00:00
- 🖥️ **WebChat + macOS app** — Local UI + menu bar companion for ops and voice wake
2025-12-18 13:18:33 +01:00
- 📱 **iOS node** — Pairs as a node and exposes a Canvas surface
2026-01-05 21:30:19 +01:00
- 📱 **Android node** — Pairs as a node and exposes Canvas + Chat + Camera
2025-12-13 13:25:49 +00:00
Note: legacy Claude/Codex/Gemini/Opencode paths have been removed; Pi is the only coding-agent path.
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## Quick start
2025-12-05 17:50:02 +00:00
2025-12-13 13:25:49 +00:00
Runtime requirement: **Node ≥ 22** .
```bash
2026-01-08 09:59:10 +01:00
# Recommended: global install (npm/pnpm)
2026-01-30 03:15:10 +01:00
npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest
2026-01-08 09:59:10 +01:00
2026-01-21 17:45:12 +00:00
# Onboard + install the service (launchd/systemd user service)
2026-01-30 03:15:10 +01:00
openclaw onboard --install-daemon
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
# Pair WhatsApp Web (shows QR)
2026-01-30 03:15:10 +01:00
openclaw channels login
2025-12-03 15:45:32 +00:00
2026-01-21 17:45:12 +00:00
# Gateway runs via the service after onboarding; manual run is still possible:
2026-01-30 03:15:10 +01:00
openclaw gateway --port 18789
2025-12-13 13:25:49 +00:00
```
2025-12-03 15:45:32 +00:00
2026-01-30 03:15:10 +01:00
Switching between npm and git installs later is easy: install the other flavor and run `openclaw doctor` to update the gateway service entrypoint.
2026-01-09 23:10:09 +01:00
2026-01-08 09:59:10 +01:00
From source (development):
```bash
2026-01-30 03:15:10 +01:00
git clone https://github.com/openclaw/openclaw.git
cd openclaw
2026-01-08 09:59:10 +01:00
pnpm install
2026-01-09 07:02:42 +00:00
pnpm ui:build # auto-installs UI deps on first run
2026-01-08 09:59:10 +01:00
pnpm build
2026-01-30 03:15:10 +01:00
openclaw onboard --install-daemon
2026-01-08 09:59:10 +01:00
```
2026-01-30 03:15:10 +01:00
If you don’ t have a global install yet, run the onboarding step via `pnpm openclaw ...` from the repo.
2026-01-20 07:42:21 +00:00
2026-01-03 11:46:58 +01:00
Multi-instance quickstart (optional):
```bash
2026-01-30 03:15:10 +01:00
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001
2026-01-03 11:46:58 +01:00
```
2025-12-13 13:25:49 +00:00
Send a test message (requires a running Gateway):
2025-12-03 15:45:32 +00:00
```bash
2026-01-30 03:15:10 +01:00
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
2025-12-13 13:25:49 +00:00
```
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## Configuration (optional)
2025-12-03 15:45:32 +00:00
2026-01-30 03:15:10 +01:00
Config lives at `~/.openclaw/openclaw.json` .
2025-12-03 15:45:32 +00:00
2026-01-30 03:15:10 +01:00
- If you **do nothing** , OpenClaw uses the bundled Pi binary in RPC mode with per-sender sessions.
2026-01-13 06:16:43 +00:00
- If you want to lock it down, start with `channels.whatsapp.allowFrom` and (for groups) mention rules.
2025-12-13 13:25:49 +00:00
Example:
```json5
{
2026-01-13 06:16:43 +00:00
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
2026-01-31 21:13:13 +09:00
groups: { "*": { requireMention: true } },
},
2026-01-02 22:23:00 +01:00
},
2026-01-31 21:13:13 +09:00
messages: { groupChat: { mentionPatterns: ["@openclaw "] } },
2025-12-13 13:25:49 +00:00
}
2025-12-03 15:45:32 +00:00
```
2025-12-13 13:25:49 +00:00
## Docs
2025-12-03 15:45:32 +00:00
2025-12-14 00:50:41 +00:00
- Start here:
2026-01-10 14:51:21 -06:00
- [Docs hubs (all pages linked) ](/start/hubs )
2026-01-31 21:13:13 +09:00
- [Help ](/help ) ← _common fixes + troubleshooting_
2026-01-10 14:51:21 -06:00
- [Configuration ](/gateway/configuration )
- [Configuration examples ](/gateway/configuration-examples )
- [Slash commands ](/tools/slash-commands )
- [Multi-agent routing ](/concepts/multi-agent )
- [Updating / rollback ](/install/updating )
- [Pairing (DM + nodes) ](/start/pairing )
- [Nix mode ](/install/nix )
2026-01-30 03:15:10 +01:00
- [OpenClaw assistant setup ](/start/openclaw )
2026-01-10 14:51:21 -06:00
- [Skills ](/tools/skills )
- [Skills config ](/tools/skills-config )
- [Workspace templates ](/reference/templates/AGENTS )
- [RPC adapters ](/reference/rpc )
- [Gateway runbook ](/gateway )
- [Nodes (iOS/Android) ](/nodes )
- [Web surfaces (Control UI) ](/web )
- [Discovery + transports ](/gateway/discovery )
- [Remote access ](/gateway/remote )
2025-12-14 00:50:41 +00:00
- Providers and UX:
2026-01-10 14:51:21 -06:00
- [WebChat ](/web/webchat )
- [Control UI (browser) ](/web/control-ui )
2026-01-13 06:16:43 +00:00
- [Telegram ](/channels/telegram )
- [Discord ](/channels/discord )
2026-01-23 00:19:23 +00:00
- [Mattermost (plugin) ](/channels/mattermost )
2026-01-13 06:16:43 +00:00
- [iMessage ](/channels/imessage )
2026-01-10 14:51:21 -06:00
- [Groups ](/concepts/groups )
- [WhatsApp group messages ](/concepts/group-messages )
- [Media: images ](/nodes/images )
- [Media: audio ](/nodes/audio )
2026-01-05 20:59:54 +01:00
- Companion apps:
2026-01-10 14:51:21 -06:00
- [macOS app ](/platforms/macos )
- [iOS app ](/platforms/ios )
- [Android app ](/platforms/android )
- [Windows (WSL2) ](/platforms/windows )
- [Linux app ](/platforms/linux )
2025-12-14 00:50:41 +00:00
- Ops and safety:
2026-01-10 14:51:21 -06:00
- [Sessions ](/concepts/session )
- [Cron jobs ](/automation/cron-jobs )
- [Webhooks ](/automation/webhook )
- [Gmail hooks (Pub/Sub) ](/automation/gmail-pubsub )
- [Security ](/gateway/security )
- [Troubleshooting ](/gateway/troubleshooting )
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
## The name
2025-12-03 15:45:32 +00:00
2026-01-30 03:15:10 +01:00
**OpenClaw = CLAW + TARDIS** — because every space lobster needs a time-and-space machine.
2025-12-03 15:45:32 +00:00
2025-12-13 13:25:49 +00:00
---
2025-12-03 15:45:32 +00:00
2026-01-31 21:13:13 +09:00
_"We're all just playing with our own prompts."_ — an AI, probably high on tokens
2025-12-03 15:45:32 +00:00
## Credits
- **Peter Steinberger** ([@steipete ](https://twitter.com/steipete )) — Creator, lobster whisperer
2025-12-13 13:25:49 +00:00
- **Mario Zechner** ([@badlogicc ](https://twitter.com/badlogicgames )) — Pi creator, security pen-tester
2026-01-30 06:14:12 +01:00
- **Clawd** — The space lobster who demanded a better name
2025-12-03 15:45:32 +00:00
2026-01-03 18:05:46 +00:00
## Core Contributors
- **Maxim Vovshin** (@Hyaxia , 36747317+Hyaxia@users .noreply.github.com) — Blogwatcher skill
2026-01-06 06:30:12 +01:00
- **Nacho Iacovino** (@nachoiacovino , nacho.iacovino@gmail .com) — Location parsing (Telegram + WhatsApp)
2026-01-03 18:05:46 +00:00
2025-12-03 15:45:32 +00:00
## License
MIT — Free as a lobster in the ocean 🦞
---
2026-01-31 21:13:13 +09:00
_"We're all just playing with our own prompts."_ — An AI, probably high on tokens