Head to head · Agent harnesses · October 2026 research run
Crush vs Harness²
Crush scores 56.5 (C) on agent readiness against Harness²'s 41.6 (E), and leads in 5 of 7 scored categories. Harness² leads on agent ergonomics. 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 20
- Schema & documentation, 65 against 51
- Payments & pricing, 55 against 40
- Maintenance & community, 82 against 36
- Transparency & trust, 56 against 44
Also in its favour
- Free to start without a card
Watch for
crush run approves every permission request automatically, which the README doesn't mention
Harness² E
Best for Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.
Ahead on
- Agent ergonomics, 59 against 52
Also in its favour
- No key needed to call it
- Open source
Watch for
No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI
Score by category
| Category | Weight this run | Crush | Harness² | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 54 | 20 | Crush +34 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 51 | Crush +14 |
| Agent ergonomics | 13%16.2 | 52 | 59 | Harness² +7 |
| Security & auth | 14%17.5 | 44 | 44 | even |
| Payments & pricing | 10%12.5 | 55 | 40 | Crush +15 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 36 | Crush +46 |
| Transparency & trust | 7%8.8 | 56 | 44 | Crush +12 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 56.5/100 | E 41.6/100 |
Facts side by side
| Fact | Crush | Harness² |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Charm | Google (Google Research) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | None |
| Pricing | Freemium | Free |
| 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. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation). |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-09 | 2026-10-08 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | 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 | 4.2k 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.
Harness²
Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.
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
Harness²
- Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only
- Ask the person for a Vertex AI project, model IDs and
gcloud auth application-default loginbefore any model-backed run, and start with--max-tasks 1 - Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched
- Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it
- Use the same benchmark, executor,
--k,--modeand seed forharness2,harness2-judgeandharness2-report, or the results won't line up
Questions
Which is better for AI agents, Crush or Harness²?
Crush scores 56.5 (C) on agent readiness against Harness²'s 41.6 (E), and leads in 5 of 7 scored categories. Harness² leads on agent ergonomics.
Are Crush and Harness² open source?
No open-source release is listed for Crush. Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).).
Other comparisons with Crush or Harness²
- Agent Zero vs Crush
- Agent Zero vs Harness²
- Aider vs Crush
- Aider vs Harness²
- Amp vs Crush
- Amp vs Harness²
- Antigravity CLI vs Crush
- Antigravity CLI vs Harness²
- Auggie CLI vs Crush
- Auggie CLI vs Harness²
- Claude Code vs Crush
- Claude Code vs Harness²
- Cline vs Crush
- Cline vs Harness²
- 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 HarnessRouter
- 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 Harness²
- DeepSeek Harness (dsh) vs Harness²
- Devin vs Harness²
- Droid CLI vs Harness²
- Pi vs Harness²
- Gemini CLI vs Harness²
- GitHub Copilot CLI vs Harness²
- goose vs Harness²
- Harness² vs HarnessRouter
- Harness² vs Jules
- Harness² vs Junie CLI
- Harness² vs Kilo Code CLI
- Harness² vs Kimi Code CLI
- Harness² vs Kiro CLI
- Harness² vs mini-swe-agent
- Harness² vs Mistral Vibe CLI
- Harness² vs Muse Code
- Harness² vs OpenAI Codex
- Harness² vs OpenCode
- Harness² vs OpenHands
- Harness² vs Prime Agent
- Harness² vs Qoder CLI
- Harness² vs Qwen Code
- Harness² vs Mirror CLI
- Harness² vs Rovo Dev CLI
- Harness² vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Crush
- Crush vs Harness
- Crush vs Paperclip
- Crush vs Parallax
Machine-readable
- This page as Markdown
/compare/crush-vs-harness2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/crush.json·/api/v1/tools/harness2.json - From a terminal
anchor compare crush harness2(the CLI) - Over MCP
compare_tools {"a": "crush", "b": "harness2"}at/mcp, no key