@enderfga/claw-orchestrator
v7.5.0
Published
Claw Orchestrator — run Claude Code, Codex, Gemini, Cursor Agent, OpenCode and custom coding CLIs as one unified runtime. Drop into Hermes Agent, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose or any Model Context Protocol (MCP) host, insta
Maintainers
Keywords
Readme
Claw Orchestrator
A runtime for coding agents. Wrap Claude Code, Codex, Antigravity, Grok Build, OpenCode, or any custom CLI as persistent programmable sessions; coordinate them in multi-agent councils; run autonomous Planner / Coder / Reviewer loops; or hand a five-question interview to an Opus council that ships a deployed web app at
localhost:19000/forge/<slug>/.
Coding CLIs are designed for humans at terminals. Claw Orchestrator turns them into headless engines and stacks an agent platform on top: a 78-tool API that scales from a single session call up to a fully generated, deployed web app — reachable through the CLI, the OpenClaw gateway, the Model Context Protocol, or directly from TypeScript, and visible through an embedded three-tab dashboard.
https://github.com/user-attachments/assets/fbd2b0ea-28d8-4387-9894-c29cf15ba030
Features
| Capability | What it does | Reference |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Persistent Sessions | Long-lived coding agents kept alive across requests, with full context, tool, model, and worktree control. | sessions.md |
| Multi-Engine Runtime | One interface over Claude Code, Codex, Antigravity (agy), Grok Build, OpenCode, and arbitrary custom CLIs. | multi-engine.md |
| Session Handoff | Move a live conversation to another engine or model — a stuck Claude session into Codex, an expensive model into a cheaper one. The new session picks up where the old one stopped, in the same workspace; the old one keeps running. | sessions.md |
| Multi-Agent Council | Parallel agents in isolated git worktrees, voting on consensus until they agree. | council.md |
| Fan-out | Run one task across N engine/model agents in parallel and collect their answers, with an optional synthesis pass — the cross-engine best-of-N / diverse-perspective primitive (no rounds or worktrees). | tools.md |
| ultracode | session_start({ ultracode: true }) lets Claude orchestrate a dynamic JS workflow and fan out to subagents per task (Claude engine). | tools.md |
| Autoloop | Three-agent autonomous workspace iteration with independent engine/model selection for Planner, Coder, and Reviewer. Chat with the Planner; it spawns Coder + Reviewer into a self-iterating subloop and pushes you on regression, target-hit, or decision points. | autoloop.md |
| Ultraapp | A three-agent Opus council turns a five-question interview into a deployed web app — Tailwind UI, BYOK, file-queue runtime, smoke test, all live at localhost:19000/forge/<slug>/. | ultraapp.md |
| Embedded Dashboard | Three-tab UI for Autoloop, Council, and Forge with sidebar lifecycle controls, per-run live event streaming, and cookie-based auth via a /login redirect. | dashboard.md |
| OpenAI-Compatible Proxy | POST /v1/chat/completions translates OpenAI requests into native Anthropic, OpenAI, and Google calls and streams responses back in OpenAI shape. Point any OpenAI-SDK client at the orchestrator without changing call sites. | openai-compat.md |
| Durable Run Kernel | Declarative workflows over agent / fanout / council / verifier / human_gate / router / subflow / autoloop / ultraapp_* nodes. Every state transition is checkpointed, so a run survives a process restart and resumes at the node boundary. Retry, per-node timeout, cancel, steer, and bounded loops come from the kernel instead of from five hand-rolled state machines. | workflow.md |
| Verification Plane | Acceptance contracts the runtime executes itself — commands, HTTP probes, screenshots, diff policy, file assertions — producing an evidence bundle on disk. A run carrying a contract cannot reach completed unless it passes, and one without a contract completes as unverified rather than claiming success. The tests a contract runs are held to what the run started with, so a run cannot pass by editing them. | verification.md |
| Run Ledger & Spend Caps | Every turn on every engine is appended to a durable JSONL ledger — engine, model, tokens, cost, duration, and the council/fanout/autoloop it belonged to — queryable with clawo runs after a restart. Rows carry both the engine's self-report (ok) and the runtime's own measurement (verified), kept apart. maxBudgetUsd is enforced by the runtime, so a cap holds on Codex, Grok, agy and OpenCode too, not just Claude Code. | observability.md |
The full 78-tool surface is enumerated in tools.md.
Quick Start
npm install -g @enderfga/claw-orchestrator
clawo serve # dashboard at http://127.0.0.1:18796/dashimport { 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');Integrations
Standalone CLI
clawo serve # dashboard + HTTP server on :18796
clawo session-start fix-tests --engine claude --cwd . # start a session
clawo session-send fix-tests "Fix the failing tests" # send into itEvery command is documented in cli.md.
OpenClaw Plugin
curl -fsSL https://raw.githubusercontent.com/Enderfga/claw-orchestrator/main/install.sh | bashInstalls via npm, registers the plugin in ~/.openclaw/openclaw.json, restarts the gateway. All 78 tools become available to every OpenClaw agent.
Model Context Protocol Server
npm install -g @enderfga/claw-orchestrator # clawo-mcp is now on PATHRegister clawo-mcp with any MCP-compatible host: Hermes Agent, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose, and others. Per-host stdio-config snippets and the CLAWO_MCP_TOOLS allowlist for tight tool budgets are in mcp.md.
Agent Client Protocol Agent
clawo acp # or the dedicated binary: clawo-acpMCP gives tools to an agent; ACP makes you be the agent. clawo acp speaks
Agent Client Protocol over stdio, so Zed, JetBrains,
Neovim, Emacs, the VS Code ACP extension — or dsh via its subagent-acp provider —
can drive Claw Orchestrator as their coding agent.
Every other agent in that ecosystem is a single agent. This one is a fleet: the model
selector is grouped by engine, so one dropdown holds Claude, Codex and Grok models at
once and switching it switches engine mid-session, and /council, /ultraplan and
/ultrareview run multi-agent orchestrations from the chat box. Setup, the dsh YAML
block, and the cancellation and permission limitations are in
acp.md.
Engine Compatibility
| Engine | CLI | Tested Version |
| ----------- | ---------- | -------------- |
| Claude Code | claude | 2.1.274 |
| Codex | codex | 0.154.0 |
| Antigravity | agy | 1.2.5 |
| Grok Build | grok | 1.0.34 |
| OpenCode | opencode | 1.18.31 |
| Custom CLI | any | — |
Any coding CLI that runs as a subprocess can be wired up as a custom engine — see multi-engine.md.
How the engine table stays honest
The versions above are not typed in — they 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, and
smokes the ACP and MCP entry points. It has no LLM in it, so the thing that reports a wrapper as
broken cannot share the wrapper's failure modes.
scripts/sweep-workflow.json wraps it 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. That is the
bounded form of recursive self-improvement this project practises — the loop measures, proposes and
verifies; a person merges. The orchestrator never edits its own code unattended, on purpose: the
recovery path has to stay simpler than what it recovers. Its first scripted run found a default
model an engine had silently dropped, which three weeks of by-hand sweeps had walked past.
Contributing
See CONTRIBUTING.md. Run npm run build && npm run lint && npm run format:check && npm run test before submitting.
License
MIT — see LICENSE.
