OpenClaw
TL;DR
OpenClaw (formerly Clawdbot, then Moltbot) is a self-hosted personal AI assistant: a local Gateway links Slack, Telegram, WhatsApp, iMessage and other chat apps to models and agent harnesses. The OpenClaw Foundation, a 501(c)(3), stewards it. It suits people and small teams wanting an always-on assistant on their own hardware.
Key facts
| Type | Harness |
|---|---|
| Languages / SDKs | TypeScript |
| License | unknown |
| Pricing model | Open source, free |
| Orchestration pattern | Supervisor |
| GitHub stars | 390,840 (as of 2026-09-30) |
| GitHub forks | 82,207 |
| Last push | 2026-09-30 |
| Latest release | v2026.9.7 |
| Repository | openclaw/openclaw |
| Website | openclaw.ai |
| Documentation | docs.openclaw.ai |
| Last verified | 2026-09-30 |
Key features
- Sub-agents: sessions_spawn starts a background run in its own session that reports its result back to the requesting agent; nesting is allowed up to depth 5 by default. (source)
- Swarm lets a Code Mode JavaScript script fan out many collector sub-agents with bounded concurrency and structured results; it is on by default and can be switched off with tools.swarm: false. (source)
- Multi-agent routing: one Gateway hosts several isolated agents, each with its own workspace, auth profiles and SQLite session store, and bindings route each channel account to one agent. (source)
- ACP sessions run external coding harnesses such as Claude Code, Codex, Gemini CLI and OpenCode from chat through the acpx plugin. (source)
- The official codex plugin runs agent turns through the Codex app-server while OpenClaw keeps channels, approvals and the transcript. (source)
- MCP both ways: connect stdio, SSE or Streamable HTTP MCP servers to agents, or run openclaw mcp serve so an MCP client can read and send channel conversations. (source)
- A bundled A2A channel plugin publishes an Agent Card, accepts authenticated A2A 1.0 JSON-RPC tasks and can message configured peer agents. (source)
- Memory is plain Markdown in the agent workspace (MEMORY.md, USER.md and dated daily notes) loaded at session start. (source)
Architecture and orchestration pattern
Pattern: Supervisor
A single Gateway process is the local control plane. It owns sessions, tools, events and channel connections, and the Control UI, CLI, TUI and companion apps all talk to it over WebSocket. By default it runs one agent (main); adding agents with openclaw agents add gives each one a separate workspace, auth profiles and SQLite session history, and bindings decide which chat account reaches which agent.
Delegation inside a run is supervisor-style. The main agent calls sessions_spawn to start a sub-agent in its own session; the call returns immediately and the child announces its result back to the requester. Children can spawn further children up to a configurable depth (5 by default), with per-session caps on active children. For large fan-out, Swarm lets a Code Mode script launch many collector children and await their structured results with ordinary JavaScript control flow.
The agent loop itself is pluggable: turns can run on OpenClaw's built-in runtime, on the Codex app-server through the official codex plugin, or on external harnesses such as Claude Code, Gemini CLI or OpenCode via ACP. Long-term memory lives in Markdown files in the workspace, with a SQLite-backed builtin search engine; sub-agents receive only AGENTS.md, not the parent's persona or memory files.
Human in the loop
Host command execution passes through exec approvals: policy, an allowlist and an optional prompt must all agree before a command runs, and approval prompts can be answered in the Control UI or in chat apps such as Slack, Telegram and Discord. MCP servers can be set to approve, prompt or auto per server. The main agent can call ask_user to pause and ask one to three structured questions (sub-agents do not get this tool). A human can redirect a running turn with /steer, stop a parent run together with its children, and inspect child runs with /subagents. Unknown senders on DM-capable channels must be approved with openclaw pairing approve before they can talk to the assistant.
Harnesses it can drive
- Claude Code (evidence)
- Codex (evidence)
- OpenCode (evidence)
Protocols
| Protocol | Support | Note |
|---|---|---|
| MCP | Yes evidence | Client and server: agents use tools from configured MCP servers (stdio, SSE, Streamable HTTP), and openclaw mcp serve exposes channel conversations as a stdio MCP server. |
| A2A | Yes evidence | Bundled A2A channel plugin: serves an Agent Card and the A2A 1.0 JSON-RPC binding for inbound tasks, and sends SendMessage to configured outbound peers; CancelTask is refused. |
| AG-UI | Unknown | No AG-UI mention in the README, docs llms.txt index or the AG-UI README integration list; GitHub code search for ag-ui/agui in openclaw/openclaw found no AG-UI code. |
Best for
- Running a personal assistant on your own machine or server, reachable from the chat apps you already use. (shortlist)
- Driving Codex, Claude Code, Gemini CLI or OpenCode sessions from a phone or chat thread, with results posted back to the conversation. (shortlist)
- Research or background tasks that fan out to parallel sub-agents while the main conversation stays responsive. (shortlist)
- Small teams sharing one Gateway with separate agents, roles and channel bindings.
Not for
- Developers looking for a library to embed agents in their own application code; OpenClaw is a standalone gateway and app.
- Deployments that cannot configure sandboxing: tools run on the host for the main session unless sandboxing is set up.
- Web front ends that expect an AG-UI event stream; no AG-UI support is documented.
Quickstart
npm install -g openclaw@latest --allow-scripts=openclaw # needs Node 24.16+ or 26.1+; npm 11.16+ for --allow-scripts
npm install -g openclaw@latest --allow-scripts=openclaw
# onboarding checks model access, creates the workspace, installs the Gateway service
openclaw onboard --install-daemon
openclaw gateway status
# a second isolated agent with its own workspace
openclaw agents add research --workspace ~/openclaw-research
# give agents an MCP server, then check it answers
openclaw mcp add memory --command npx --arg -y --arg @modelcontextprotocol/server-memory
openclaw mcp doctor memory --probe
# open the Control UI and chat
openclaw dashboard
Common pitfalls
- Requires Node 24.16+ or 26.1+ (Node 26 recommended). The hosted installer (
curl -fsSL https://openclaw.ai/install.sh | bash) provisions Node if it is missing. --allow-scripts=openclawis for npm 12 or npm 11.16+; on npm 11.15 and earlier run the same command without it.npm approve-scripts openclawdoes not work for a global install.- Plain
npm installin a source checkout is not supported; the repository is a pnpm workspace. - Tools run on the host for the main session unless sandboxing is configured; read the security and sandboxing guides before exposing the Gateway or adding other users.
- Several plugin SDK compatibility aliases have removal targets of 2026-09-30 and 2026-10-01 (v2026.9.7 release notes).
Pros
- The README states there is no paid tier, hosted service or token; state, memory and credentials stay on your hardware. (source)
- Can hand agent turns to Codex, Claude Code, Gemini CLI or OpenCode instead of its own runtime. (source)
- Documents MCP in both directions and a bundled A2A channel, so it can use tools and talk to other agents over open protocols. (source)
- Sub-agent records and queued completion handoffs survive Gateway restarts in the SQLite state database, and stopping a parent run also cancels its children. (source)
- Actively released: at least five tagged releases between 2026-09-19 and 2026-09-30. (source)
Cons
- Sandboxing is off by default, so tools for the main session run directly on the host until you configure it. (source)
- Plugins run in-process and unsandboxed, per the project's own comparison page. (source)
- Sub-agents share the Gateway process's resources, and concurrency caps apply per spawning session, not to the whole Gateway. (source)
- Fast-moving plugin SDK: v2026.9.7 lists deprecated compatibility aliases with removal targets of 2026-09-30 and 2026-10-01, and the agent-harness plugin SDK surface is labelled experimental. (source)
- Renamed twice in early 2026 (Clawdbot, then Moltbot, then OpenClaw), so older guides and packages may use the previous names. (source)
Alternatives
FAQ
Does OpenClaw support MCP and A2A?
Yes. Agents can use tools from configured MCP servers, openclaw mcp serve exposes channel conversations to MCP clients, and a bundled A2A channel plugin accepts A2A 1.0 JSON-RPC tasks and can message peer agents. AG-UI support is not documented.
Is OpenClaw free?
Yes. The README says the project has no paid tier, hosted service or token; you pay only the model providers you configure. The LICENSE file contains the MIT license text.
Can OpenClaw run several agents at once?
Yes, in two ways: several isolated agents in one Gateway routed by channel bindings, and sub-agents spawned by a running agent with sessions_spawn or fanned out with Swarm.
How is OpenClaw different from Hermes Agent?
Both are self-hosted assistants reachable from chat apps. OpenClaw is TypeScript and run by a foundation with no paid tier; Hermes Agent is Python and maintained by Nous Research. OpenClaw's docs include a source-by-source comparison page written from OpenClaw's side.
Does OpenClaw work with Claude Code or Codex?
Yes. openclaw attach launches Claude Code with a scoped Gateway MCP grant, the official codex plugin runs turns on the Codex app-server, and ACP sessions can run Claude Code, Codex, Gemini CLI or OpenCode.
Sources
- openclaw/openclaw repository (README)
- LICENSE file
- Releases
- v2026.9.7 release notes
- OpenClaw documentation
- Install
- Getting started
- Gateway architecture
- Sub-agents
- Sub-agent concurrency, recovery, and stopping
- Swarm
- Multi-agent routing
- ACP agents quickstart
- Codex harness
- Attach CLI (Claude Code)
- Agent harness plugins (experimental SDK)
- Connect MCP servers
- Run OpenClaw as an MCP server
- A2A channel
- Exec approvals
- Ask user
- Steer
- Memory overview
- Sandboxing
- OpenClaw and Hermes Agent (OpenClaw docs)
- Project lore (name history)
- AG-UI README integration list