📦 npm • 📖 Documentation • 🎬 Demo film • 📝 Changelog • 📚 Citation
Claw Orchestrator runs Claude Code, Codex, Antigravity, Grok Build, OpenCode and any Agent Client Protocol agent (Kimi Code, dsh) as persistent sessions behind one API. A run counts as done only when checks the agent did not write pass: you declare the checks, the runtime runs them and reads the exit codes, and the evidence stays on disk. Runs are checkpointed workflows that survive a crash, and every turn on every engine is recorded with its model, tokens and cost.
One bug, one acceptance contract, five engines, three runs each, first attempt only. The runtime ran the checks itself: 9 verified, 4 refuted, 2 errored (Grok Build hit its free-tier usage limit). One task, not a benchmark. How the film was made, and how to re-run it.
The 40-second film, with sound
clawo-film-720p.mp4
- [2026-11] v7.20.0: a fan-out agent can run as a goal, so several agents can each work a copy of a project until it is done, in parallel.
- [2026-11] v7.19.0: a fan-out agent can run in a directory of its own, so several agents can write code in parallel, one copy each.
- [2026-11] v7.18.0:
CLAWO_CLAUDE_GATEWAY=1runs aclaudesession on any model your own Anthropic-compatible gateway serves, by its own name. - [2026-11] v7.17.0: an agent can resume a paused autoloop run itself (
autoloop_resume), and a Codex goal that hits a model at capacity is resumed on its thread instead of failing. - [2026-10] v7.16.0:
clawo goal --engine clauderuns a goal on Claude Code's/goal, with the same checkpointing, resume and verification as a Codex goal. - [2026-10] ResearchBoost-Agent, an autonomous agent that profiles, optimizes and validates AI training code, now runs its goal mode on Claw Orchestrator.
- [2026-10] v7.14.0: any Agent Client Protocol agent runs as a session (
engine: 'acp'), with presets for Kimi Code and dsh. - [2026-10] v7.13.0:
clawo goalkeeps a Codex/goalrunning for hours on one thread, reattaches it after a crash, and judges the result with your checks. - [2026-09] Declare, Compile, Look, built on Claw Orchestrator, was presented as a talk at the ECCV 2026 Workshop on Multimodal Digital Agents.
- [2026-08] v6.0.0: the durable run kernel and the verification plane. A run survives its own process dying, and a run with an acceptance contract is judged by the runtime, not by the agent.
- ✅ Verdicts the agent cannot write: acceptance contracts (commands, HTTP probes, screenshots, diff policy, file
assertions) run by the runtime. A run ends
verified,refutedorunverified, and editing the tests its contract runs refutes it (guide). - 🔀 Many vendors, one API: Claude Code, Codex, Antigravity, Grok Build, OpenCode, any ACP agent and custom CLIs.
clawo fanoutasks several at once;session_handoffmoves a live conversation to another engine in the same workspace (guide). - 💾 Survives a crash: every state transition is checkpointed; resume, retry, timeout, cancel and steer come from the kernel (guide).
- 🎯 Long goals:
clawo goalruns a Codex/goalunattended on one thread, resumes it after usage limits within a bound, optionally inside your own sandbox (guide). - 💰 Known cost: one per-turn ledger across engines (
clawo runs) and amaxBudgetUsdcap the runtime enforces on every engine (guide). - 🔌 Fits your tools: a CLI, an MCP server, an ACP agent for editors, an OpenAI-compatible endpoint, a TypeScript SDK and an OpenClaw plugin (ways to run).
claude-squad, Conductor and Vibe Kanban are interfaces for running agents side by side in worktrees; Claude Code subagents and Codex's parallel attempts stay within one vendor. Claw Orchestrator is a headless runtime underneath: several vendors behind one API, durable workflows, and a verification step the agents cannot edit. They can be used together.
Requires Node 22+ and at least one engine CLI installed and logged in (claude, codex, agy, grok or opencode).
npm install -g @enderfga/claw-orchestrator
clawo serve & # local runtime + dashboard on 127.0.0.1:18796clawo solve "The test fails. Fix price.js." --engine codex \
--check "npm test" --check "node ../holdout/price.spec.mjs" --wait
clawo verify <runId> # each check, why it failed, the files that changed
clawo runs --since 1h # every turn on every engine: model, tokens, cost, verdictclawo fanout "How would you speed up this test suite?" --engines claude,codex,grok --synthesize --wait
clawo goal --objective-file GOAL.md --check "npm run bench:check" --check-timeout 120 --waitThe server writes an access token to ~/.openclaw/server-token and the CLI reads it from there. To sign in the
browser once, open http://127.0.0.1:18796/login?token=<token>&redirect=/dash.
- 🧪 Acceptance contracts and evidence bundles (guide)
- 🔁 Workflows, resume and the goal node (guide)
- 🖥️ Every CLI command (guide)
- 🧰 All 79 tools (guide)
| For | Start here | |
|---|---|---|
| CLI and dashboard | Terminals and scripts | clawo serve, then cli.md |
| MCP server | Claude Code, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose, Hermes Agent | claude mcp add clawo -- clawo-mcp, then mcp.md |
| ACP agent | Zed, JetBrains, Neovim, Emacs, the VS Code ACP extension, dsh | clawo acp, then acp.md |
| OpenAI-compatible endpoint | Any OpenAI SDK client or webchat, without changing call sites | POST /v1/chat/completions (openai-compat.md) |
| TypeScript SDK | Embedding the runtime in your own service | import { SessionManager } from '@enderfga/claw-orchestrator' (below) |
| OpenClaw plugin | Every OpenClaw agent gets all 79 tools | curl -fsSL https://raw.githubusercontent.com/Enderfga/claw-orchestrator/main/install.sh | bash |
import { SessionManager } from '@enderfga/claw-orchestrator';
const manager = new SessionManager();
await manager.startSession({ name: 'fix-tests', engine: 'claude', cwd: '/project' });
const result = await manager.sendMessage('fix-tests', 'Fix the failing tests');From an MCP host, ask for workflow_start with template solve, a task, and a contract such as
{"checks":[{"type":"command","cmd":"npm","args":["test"]}]}. In an ACP editor, the model selector is grouped by
engine, so one dropdown switches between Claude, Codex, Antigravity and Grok models mid-session.
| Engine | CLI | Tested version |
|---|---|---|
| Claude Code | claude |
2.1.317 |
| Codex | codex |
0.166.0 |
| Antigravity | agy |
1.4.12 |
| Grok Build | grok |
1.0.70 |
| OpenCode | opencode |
1.19.5 |
| ACP agent | any | Kimi Code 2.3.1, dsh 0.2.1-rc.2 |
| Custom CLI | any | — |
An agent that serves the Agent Client Protocol on stdio runs as
engine: 'acp'; any other coding CLI that runs as a
subprocess can be wired up as a custom engine.
How the table stays current
The versions above are what the weekly sweep last ran. scripts/sweep.ts measures each core engine's installed,
pinned and upstream version, diffs the flags the wrapper passes against the binary's --help, runs one live turn
through the real wrapper class, smokes the ACP and MCP entry points, and checks src/models.ts against the
OpenAI, Anthropic and xAI published price tables. It contains no model call, so the check that reports a wrapper as broken does not
share the wrapper's failure modes.
scripts/sweep-workflow.json wraps the same script as a durable run on this project's own kernel: verifier → router
→ an agent that drafts the alignment on a sweep/<date> branch → a human gate. A person reviews and merges; the
orchestrator does not edit its own code unattended.
| Capability | What it does | Reference |
|---|---|---|
| Persistent sessions | Long-lived agents kept alive across requests, with context, tool, model and worktree control. | sessions.md |
| Multi-engine runtime | One interface over the engines above, any ACP agent, and custom CLIs. | multi-engine.md |
| Session handoff | Moves a live conversation to another engine or model in the same workspace; the old session keeps running. | sessions.md |
| Verification plane | Acceptance contracts the runtime runs itself, with an evidence bundle on disk; a run without a contract ends unverified. |
verification.md |
| Durable run kernel | Declarative workflows over agent, goal, fanout, council, verifier, human_gate, router and more, checkpointed. |
workflow.md |
| Fan-out | One task across N engine/model agents in parallel, with an optional synthesis pass. | tools.md |
| Council | Parallel agents in isolated git worktrees, voting until they reach consensus. | council.md |
| Autoloop | A Planner, Coder and Reviewer iterating on a workspace, each with its own engine and model; you chat with the Planner. | autoloop.md |
| Ultraapp | A short structured interview turned into a deployed web app at localhost:19000/forge/<slug>/. |
ultraapp.md |
| ultracode | session_start({ ultracode: true }) lets Claude orchestrate a dynamic workflow of subagents. |
tools.md |
| Run ledger, spend caps | Every turn on every engine in one JSONL ledger (clawo runs), and a maxBudgetUsd cap enforced on every engine. |
observability.md |
| OpenAI-compatible proxy | POST /v1/chat/completions routed to persistent sessions on the engine the model name selects, streamed back in OpenAI shape. |
openai-compat.md |
| Dashboard | Autoloop, Council and Forge tabs with lifecycle controls and live event streams, and a Runs tab of durable workflow runs. | dashboard.md |
- ResearchBoost-Agent: an autonomous agent that profiles,
optimizes and validates AI training code; its long goal-mode runs use
clawo goal(blog). - Declare, Compile, Look: coordinate-free layout generation with vision-in-the-loop repair, ECCV 2026 Workshop on Multimodal Digital Agents (talk).
Using Claw Orchestrator in a project or paper? Open a pull request to add it here.
If Claw Orchestrator helps your research, please cite its technical report:
@techreport{fang2026claworchestrator,
title = {Claw Orchestrator: A Unified Runtime for Coding Agent CLIs},
author = {Fang, Guian},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.23874036},
url = {https://doi.org/10.5281/zenodo.23874036}
}Research built on Claw Orchestrator:
@misc{researchboost2026infra,
author = {{ResearchBoost Team}},
title = {{ResearchBoost}: {RSI} starts with Infra},
year = {2026},
url = {https://ydove0324.github.io/hx_resume/blog/researchboost/}
}
@inproceedings{fang2026declare,
title = {Declare, Compile, Look: Coordinate-Free Layout Generation with Vision-in-the-Loop Repair},
author = {Fang, Guian and Liu, Mengsha and Shou, Mike Zheng},
booktitle = {ECCV 2026 Multimodal Digital Agents Workshop},
year = {2026},
url = {https://openreview.net/forum?id=Romd50Ce0w}
}See CONTRIBUTING.md. Run npm run build && npm run lint && npm run format:check && npm run test
before submitting.
MIT, see LICENSE.

