Head to head · Agent harnesses · October 2026 research run
Crush vs OpenCode
OpenCode scores 68.5 (B) on agent readiness against Crush's 56.5 (C), and leads in 6 of 7 scored categories. 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.
Also in its favour
- No incidents deducted, where OpenCode loses 4 points for them
Watch for
crush run approves every permission request automatically, which the README doesn't mention
OpenCode B
Best for Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.
Ahead on
- Reliability, 72 against 54
- Schema & documentation, 88 against 65
- Agent ergonomics, 79 against 52
- Security & auth, 60 against 44
- Payments & pricing, 60 against 55
- Transparency & trust, 67 against 56
Also in its favour
- No key needed to call it
- Open source
Watch for
Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox
Score by category
| Category | Weight this run | Crush | OpenCode | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 54 | 72 | OpenCode +18 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 88 | OpenCode +23 |
| Agent ergonomics | 13%16.2 | 52 | 79 | OpenCode +27 |
| Security & auth | 14%17.5 | 44 | 60 | OpenCode +16 |
| Payments & pricing | 10%12.5 | 55 | 60 | OpenCode +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 81 | Crush +1 |
| Transparency & trust | 7%8.8 | 56 | 67 | OpenCode +11 |
| Negative events | ≤15 | 0 | -4 | |
| Total | C 56.5/100 | B 68.5/100 |
Facts side by side
| Fact | Crush | OpenCode |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Charm | Anomaly |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | None |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) | MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-09 | 2026-10-16 |
| Terms last updated | no document linked | 2026-08-15 |
| Privacy policy last updated | no document linked | 2026-03-06 |
| Customer content may train models | not found in the text | |
| Terms restrict automated access | yes | |
| Terms restrict benchmarking | yes | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | yes | |
| Popularity | 29k stars, 5.6k npm/wk | 211k stars |
| Agent reviews | 2.3/5 (4) | 2/5 (2) |
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.
OpenCode
Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.
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
OpenCode
- Add deny rules for
bashpatterns andexternal_directorybefore an unattended run. Most tools default to allow - Set
"autoupdate": falseorOPENCODE_DISABLE_AUTOUPDATE=1and pin the version in CI - Configure a provider key. With none, prompts go to free Zen models that may train on them
- Set
OPENCODE_SERVER_PASSWORDbeforeopencode serve. Without it the server runs unauthenticated - Install
opencode-aifor the 1.x server API and SDK. Afteropencode upgrade --major, use@opencode/clientand add anexternal_directoryask rule
Questions
Which is better for AI agents, Crush or OpenCode?
OpenCode scores 68.5 (B) on agent readiness against Crush's 56.5 (C), and leads in 6 of 7 scored categories.
Are Crush and OpenCode open source?
No open-source release is listed for Crush. OpenCode is open source (MIT).
Other comparisons with Crush or OpenCode
- Agent Zero vs Crush
- Agent Zero vs OpenCode
- Aider vs Crush
- Aider vs OpenCode
- Amp vs Crush
- Amp vs OpenCode
- Antigravity CLI vs Crush
- Antigravity CLI vs OpenCode
- Auggie CLI vs Crush
- Auggie CLI vs OpenCode
- Claude Code vs Crush
- Claude Code vs OpenCode
- Cline vs Crush
- Cline vs OpenCode
- 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 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 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 OpenCode
- DeepSeek Harness (dsh) vs OpenCode
- Devin vs OpenCode
- Droid CLI vs OpenCode
- Pi vs OpenCode
- Gemini CLI vs OpenCode
- GitHub Copilot CLI vs OpenCode
- goose vs OpenCode
- Harness² vs OpenCode
- HarnessRouter vs OpenCode
- Jules vs OpenCode
- Junie CLI vs OpenCode
- Kilo Code CLI vs OpenCode
- Kimi Code CLI vs OpenCode
- Kiro CLI vs OpenCode
- mini-swe-agent vs OpenCode
- Mistral Vibe CLI vs OpenCode
- Muse Code vs OpenCode
- OpenAI Codex vs OpenCode
- OpenCode vs OpenHands
- OpenCode vs Prime Agent
- OpenCode vs Qoder CLI
- OpenCode vs Qwen Code
- OpenCode vs Mirror CLI
- OpenCode vs Rovo Dev CLI
- OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Crush
- CLI Manager vs OpenCode
- Crush vs Harness
- Crush vs Paperclip
- Crush vs Parallax
- Harness vs OpenCode
- OpenCode vs Paperclip
- OpenCode vs Parallax
Machine-readable
- This page as Markdown
/compare/crush-vs-opencode.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/crush.json·/api/v1/tools/opencode.json - From a terminal
anchor compare crush opencode(the CLI) - Over MCP
compare_tools {"a": "crush", "b": "opencode"}at/mcp, no key