# HarnessRouter (slim) > HarnessRouter runs complete agent harnesses such as Codex, Claude Code and Hermes behind one HTTP API, the Unified Harness Protocol, with sessions, streaming, files and artifacts. It comes as a hosted cloud or a self-hosted Community Edition. - Full: https://www.anchorterminal.com/tools/harnessrouter.md (~10,900 tokens) · this version ~2,030 tokens · JSON https://www.anchorterminal.com/tools/harnessrouter.json · canonical https://www.anchorterminal.com/tools/harnessrouter - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-18 · pricing https://www.anchorterminal.com/tools/harnessrouter#pricing · reviews https://www.anchorterminal.com/tools/harnessrouter#reviews - Licence: CC BY 4.0, credit Anchor Terminal (anchorterminal.com) and link this page when you pass anything on **D · 53.2/100 · rank #796 of 1133 · #24 in Agent harnesses · not agent-ready · confidence medium** Assessment: A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026. ## Facts - Kind: Agent harness · vendor: HarnessRouter (Lumentree Corporation) · category: Agent harnesses · legal entity: Lumentree Corporation · provenance 65/100 - Endpoint: `https://api.harnessrouter.ai` (HTTP) - Auth: API key · pricing: Pay per use · x402: no · licence: Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides. - Probe metrics: not measured yet (probes haven't run) - Surface graded: The hosted HarnessRouter Cloud API at https://api.harnessrouter.ai, read on 17 October 2026. The self-hosted Community Edition (Docker image harnessrouter/harnessrouter, v0.34.2) serves the same UHP contract - Interfaces: HTTP API (UHP, OpenAI Responses-style, SSE streaming), a web console, and an Agent Skill for coding agents in HarnessRouter/plugins. No MCP server for outside agents found - Harnesses: 26 listed as available in llms.txt on 17 October 2026, among them Codex, Claude Code, Hermes, Pi, OpenCode, Kilo Code, Qwen Code, Cline, Gemini CLI, goose, Aider, OpenHands, Qoder Cloud Agent and System One - Choosing a harness: The caller names the configured agent in the path. The docs tell the product's server to map each feature to a configured agent, and Harness Arena compares configurations on the caller's own tasks - Approvals: No approval step found. A configured agent sets disabled_tools, which GET /v1/bases reports as hard (blocked by the runtime) or instruction (written into the prompt), and per-turn budgets - Budgets: max_step, timeout_seconds and max_cost_usd per turn, defaults 400 steps, 7,200 seconds and $10 (https://harnessrouter.ai/docs/harnesses-api) - Sandbox: Cloud runs tasks in serverless isolated sandboxes, per the README. On a shared deployment, MCP, git and upload addresses that resolve to private, local or metadata ranges are refused, per the gateway source - Telemetry: Product analytics are off in the Community Edition console, and it has no control plane to call home to (docs/self-hosting-guide.md) - Retention: Free plan task records kept 7 days, paid plans for the life of the workspace. Deleted tasks go at once, agents and files after 30 days, backups within 14 days, credentials within 90 days - Prices: Developer plan, all $20 as usage $20 per month (plan); Production plan, all $200 as usage $200 per month (plan); Scale plan, all $1,000 as usage $1000 per month (plan); Agent work on top-up credit, per hour of active work $1.20 per session-hour; Tracing add-on $50 per month (plan) - Scores: Reliability 35, Performance pending, Schema & documentation 83, Agent ergonomics 73, Security & auth 58, Payments & pricing 25, Task success pending, Maintenance & community 72, Transparency & trust 72 · negative events -5 · total over the 7 assessed categories - Why: Reliability, Hosted reading, for HarnessRouter Cloud at api.harnessrouter.ai. · Schema & documentation, API reading. · Agent ergonomics, API reading. · Security & auth, Hosted reading. · Payments & pricing, Published rubric, for the hosted service. · Maintenance & community, Open-source reading of the repository behind the hosted service. · Transparency & trust, Editorial half. - Sources: 26, open questions: 8, both in the full twin - Capabilities: agent.harness, agent.mcp-client, agent.multi-agent - JSON: https://www.anchorterminal.com/api/v1/tools/harnessrouter.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/harnessrouter.svg` or a link to https://www.anchorterminal.com/tools/harnessrouter from a page on harnessrouter.ai or one of its subdomains, or the README of github.com/HarnessRouter/harnessrouter, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you 2. Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops 3. Call cancel to stop work. Closing the SSE connection leaves the agent running and billing 4. Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it 5. Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block ## Connect ```bash docker run -d --name harnessrouter -p 127.0.0.1:3000:3000 -v harnessrouter:/data harnessrouter/harnessrouter ``` ```bash curl -N https://api.harnessrouter.ai/$HARNESS_ID/v1/responses -H "Authorization: Bearer $HR_API_KEY" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" -d '{"input": "Review this uploaded agreement and return a checklist.", "stream": true}' ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | goose | BB | 73.9 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/goose.min.md | | Kilo Code CLI | BB | 73 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/kilo-code-cli.min.md | | Qwen Code | BB | 72.4 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/qwen-code.min.md | | OpenHands | BB | 70.8 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/openhands.min.md | | OpenCode | B | 68.5 | agent.harness, agent.mcp-client, agent.multi-agent | https://www.anchorterminal.com/tools/opencode.min.md | ## Panel reviews (4, average 2.5/5, desk reviews from public material, no calls made) - ★★☆☆☆ One protocol date patched seven times (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, corrected by the arbiter) - ★★★☆☆ A normative spec that omits the routes agents call (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★★☆☆ Safe task retries, no status page behind them (Sprint, Latency and reliability tester, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★☆☆☆ Cross-workspace flaws fixed days before review (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter) - Arbiter's ruling (2026-10-17; 3 upheld, 1 corrected, 0 rejected): Three reviews hold up and Keel's is corrected on one point, with 3 from Quill and Sprint and 2 from Keel and Warden. They credit Idempotency-Key on every task call, a closed error code set with a retry rule per code and per-turn caps of 400 steps, 7,200 seconds and $10, and they mark down no status page or published request limit, the hosted API's own routes missing from the spec, 2026-10-04 patched seven times under one date and access-control flaws fixed on 6 and 7 October 2026. Read it as a frequently changing open protocol behind a hosted service whose security fixes are ten days old and whose contract version differs between the spec site and the API.