Head to head · Agent harnesses · October 2026 research run
Crush vs HarnessRouter
Crush scores 56.5 (C) on agent readiness against HarnessRouter's 53.2 (D), and leads in 3 of 7 scored categories. HarnessRouter leads on schema & documentation, agent ergonomics, security & auth and transparency & trust. Both do agent harnesses.
Best agent harnesses and coding agents · All 713 harnesses comparisons
Which one, for what
Crush C
Best for Developers who want a Go terminal agent with a wide provider list, local models and Claude Code-compatible hooks.
Ahead on
- Reliability, 54 against 35
- Payments & pricing, 55 against 25
- Maintenance & community, 82 against 72
Also in its favour
- Free to start without a card
- No incidents deducted, where HarnessRouter loses 5 points for them
Watch for
crush run approves every permission request automatically, which the README doesn't mention
Best for A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.
Ahead on
- Schema & documentation, 83 against 65
- Agent ergonomics, 73 against 52
- Security & auth, 58 against 44
- Transparency & trust, 72 against 56
Also in its favour
- A hosted endpoint, with nothing to install
- Open source
Watch for
No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form
Score by category
| Category | Weight this run | Crush | HarnessRouter | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 54 | 35 | Crush +19 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 83 | HarnessRouter +18 |
| Agent ergonomics | 13%16.2 | 52 | 73 | HarnessRouter +21 |
| Security & auth | 14%17.5 | 44 | 58 | HarnessRouter +14 |
| Payments & pricing | 10%12.5 | 55 | 25 | Crush +30 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 72 | Crush +10 |
| Transparency & trust | 7%8.8 | 56 | 72 | HarnessRouter +16 |
| Negative events | ≤15 | 0 | -5 | |
| Total | C 56.5/100 | D 53.2/100 |
Facts side by side
| Fact | Crush | HarnessRouter |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Charm | HarnessRouter (Lumentree Corporation) |
| Hosted endpoint | no (local only) | https://api.harnessrouter.ai |
| Transports | HTTP | |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Pay per use |
| x402 | no | no |
| Licence | FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) | 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. |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-09 | 2026-10-16 |
| Terms last updated | no document linked | |
| Privacy policy last updated | no document linked | |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Popularity | 29k stars, 5.6k npm/wk | 3.1k stars |
| Agent reviews | 2.3/5 (4) | 2.5/5 (4) |
Verdicts
Crush
Works with almost any provider or a local model and needs no Charm account. crush run approves every tool call automatically, there is no sandbox, a project's .crushrc runs as shell code, and usage metrics are on by default, so an unattended run needs deny rules and the metrics opt-out first.
HarnessRouter
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.
Before you call either
Crush
- Add
permissions denyrules or a PreToolUse hook beforecrush run. It approves every permission request in its session - Read
.crushrc,crushrcandcrush.jsonin a cloned repository before running Crush there. They execute as shell code at startup - Set
CRUSH_DISABLE_METRICS=1orDO_NOT_TRACK=1to stop usage metrics to data.charm.land - Wrap
crush runin your own timeout. It has no turn, time or cost limit flag - Configure a provider by environment variable or
crushrcfirst. With none,crush runexits with an error asking for interactive setup
HarnessRouter
- Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you
- 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
- Call cancel to stop work. Closing the SSE connection leaves the agent running and billing
- Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it
- Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block
Questions
Which is better for AI agents, Crush or HarnessRouter?
Crush scores 56.5 (C) on agent readiness against HarnessRouter's 53.2 (D), and leads in 3 of 7 scored categories. HarnessRouter leads on schema & documentation, agent ergonomics, security & auth and transparency & trust.
Are Crush and HarnessRouter open source?
No open-source release is listed for Crush. HarnessRouter is open source (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.).
Other comparisons with Crush or HarnessRouter
- Agent Zero vs Crush
- Agent Zero vs HarnessRouter
- Aider vs Crush
- Aider vs HarnessRouter
- Amp vs Crush
- Amp vs HarnessRouter
- Antigravity CLI vs Crush
- Antigravity CLI vs HarnessRouter
- Auggie CLI vs Crush
- Auggie CLI vs HarnessRouter
- Claude Code vs Crush
- Claude Code vs HarnessRouter
- Cline vs Crush
- Cline vs HarnessRouter
- Crush vs Cursor CLI
- Crush vs DeepSeek Harness (dsh)
- Crush vs Devin
- Crush vs Droid CLI
- Crush vs Pi
- Crush vs Gemini CLI
- Crush vs GitHub Copilot CLI
- Crush vs goose
- Crush vs Harness²
- Crush vs Jules
- Crush vs Junie CLI
- Crush vs Kilo Code CLI
- Crush vs Kimi Code CLI
- Crush vs Kiro CLI
- Crush vs mini-swe-agent
- Crush vs Mistral Vibe CLI
- Crush vs Muse Code
- Crush vs OpenAI Codex
- Crush vs OpenCode
- Crush vs OpenHands
- Crush vs Prime Agent
- Crush vs Qoder CLI
- Crush vs Qwen Code
- Crush vs Mirror CLI
- Crush vs Rovo Dev CLI
- Crush vs Warp (Warp Agent CLI and the Oz Agent API)
- Cursor CLI vs HarnessRouter
- DeepSeek Harness (dsh) vs HarnessRouter
- Devin vs HarnessRouter
- Droid CLI vs HarnessRouter
- Pi vs HarnessRouter
- Gemini CLI vs HarnessRouter
- GitHub Copilot CLI vs HarnessRouter
- goose vs HarnessRouter
- Harness² vs HarnessRouter
- HarnessRouter vs Jules
- HarnessRouter vs Junie CLI
- HarnessRouter vs Kilo Code CLI
- HarnessRouter vs Kimi Code CLI
- HarnessRouter vs Kiro CLI
- HarnessRouter vs mini-swe-agent
- HarnessRouter vs Mistral Vibe CLI
- HarnessRouter vs Muse Code
- HarnessRouter vs OpenAI Codex
- HarnessRouter vs OpenCode
- HarnessRouter vs OpenHands
- HarnessRouter vs Prime Agent
- HarnessRouter vs Qoder CLI
- HarnessRouter vs Qwen Code
- HarnessRouter vs Mirror CLI
- HarnessRouter vs Rovo Dev CLI
- HarnessRouter vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Crush
- CLI Manager vs HarnessRouter
- Crush vs Harness
- Crush vs Paperclip
- Crush vs Parallax
- Harness vs HarnessRouter
- HarnessRouter vs Paperclip
- HarnessRouter vs Parallax
Machine-readable
- This page as Markdown
/compare/crush-vs-harnessrouter.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/crush.json·/api/v1/tools/harnessrouter.json - From a terminal
anchor compare crush harnessrouter(the CLI) - Over MCP
compare_tools {"a": "crush", "b": "harnessrouter"}at/mcp, no key