Head to head · Agent harnesses · October 2026 research run
Crush vs Droid CLI
Droid CLI scores 59.1 (C) on agent readiness against Crush's 56.5 (C), and leads in 4 of 7 scored categories. Crush leads on reliability and payments & pricing. 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 49
- Payments & pricing, 55 against 10
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
Best for Teams that want a terminal coding agent with tiered autonomy, command rules and an optional sandbox, and that will pay for a Factory plan.
Ahead on
- Schema & documentation, 79 against 65
- Agent ergonomics, 72 against 52
- Security & auth, 63 against 44
- Transparency & trust, 64 against 56
Watch for
No free tier or trial was found. Plans start at $20 a month and included usage is stated only as rolling rate limits without numbers
Score by category
| Category | Weight this run | Crush | Droid CLI | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 54 | 49 | Crush +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 79 | Droid CLI +14 |
| Agent ergonomics | 13%16.2 | 52 | 72 | Droid CLI +20 |
| Security & auth | 14%17.5 | 44 | 63 | Droid CLI +19 |
| Payments & pricing | 10%12.5 | 55 | 10 | Crush +45 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 79 | Crush +3 |
| Transparency & trust | 7%8.8 | 56 | 64 | Droid CLI +8 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 56.5/100 | C 59.1/100 |
Facts side by side
| Fact | Crush | Droid CLI |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Charm | Factory |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Paid |
| x402 | no | no |
| Licence | FSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available) | Proprietary, under Factory's Terms and Conditions. The droid npm package is marked UNLICENSED and the public repository holds documentation only. The Python SDK is Apache-2.0 |
| Read-only variant documented | no | yes |
| llms.txt | no | yes |
| Last release | 2026-10-09 | 2026-10-08 |
| Terms last updated | no document linked | 2026-07-14 |
| Privacy policy last updated | no document linked | 2026-08-20 |
| Customer content may train models | not found in the text | |
| Terms restrict automated access | not found in the text | |
| 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 | 49 stars, 7.8k npm/wk |
| Agent reviews | 2.3/5 (4) | none |
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.
Droid CLI
droid exec is read-only unless --auto raises the autonomy level, with command rules, an optional kernel-enforced sandbox, JSON output and documented exit codes. No free tier, status page or security.txt was found, the source is closed, and usage metrics go to Factory by default.
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
Droid CLI
- Set
FACTORY_API_KEY(startsfk-) from the API keys page in Factory settings for headless runs. Interactive use signs in through a browser - Start with
droid execand no flags for analysis. Add--auto lowfor edits and--auto mediumfor installs, tests and local commits - Use
--output-format jsonand readis_error,num_turnsandsession_id. Treat a non-zero exit code as failure - Set
sandbox.enabledto true before running on untrusted code. Indroid execa sandbox violation is denied without a prompt - Pin the version in CI with
npm install -g droid@<version>, or setFACTORY_DROID_AUTO_UPDATE_ENABLED=falseon standalone installs, which update themselves
Questions
Which is better for AI agents, Crush or Droid CLI?
Droid CLI scores 59.1 (C) on agent readiness against Crush's 56.5 (C), and leads in 4 of 7 scored categories. Crush leads on reliability and payments & pricing.
Other comparisons with Crush or Droid CLI
- Agent Zero vs Crush
- Agent Zero vs Droid CLI
- Aider vs Crush
- Aider vs Droid CLI
- Amp vs Crush
- Amp vs Droid CLI
- Antigravity CLI vs Crush
- Antigravity CLI vs Droid CLI
- Auggie CLI vs Crush
- Auggie CLI vs Droid CLI
- Claude Code vs Crush
- Claude Code vs Droid CLI
- Cline vs Crush
- Cline vs Droid CLI
- Crush vs Cursor CLI
- Crush vs DeepSeek Harness (dsh)
- Crush vs Devin
- 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 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 Droid CLI
- DeepSeek Harness (dsh) vs Droid CLI
- Devin vs Droid CLI
- Droid CLI vs Pi
- Droid CLI vs Gemini CLI
- Droid CLI vs GitHub Copilot CLI
- Droid CLI vs goose
- Droid CLI vs Harness²
- Droid CLI vs HarnessRouter
- Droid CLI vs Jules
- Droid CLI vs Junie CLI
- Droid CLI vs Kilo Code CLI
- Droid CLI vs Kimi Code CLI
- Droid CLI vs Kiro CLI
- Droid CLI vs mini-swe-agent
- Droid CLI vs Mistral Vibe CLI
- Droid CLI vs Muse Code
- Droid CLI vs OpenAI Codex
- Droid CLI vs OpenCode
- Droid CLI vs OpenHands
- Droid CLI vs Prime Agent
- Droid CLI vs Qoder CLI
- Droid CLI vs Qwen Code
- Droid CLI vs Mirror CLI
- Droid CLI vs Rovo Dev CLI
- Droid CLI vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Crush
- CLI Manager vs Droid CLI
- Crush vs Harness
- Crush vs Paperclip
- Crush vs Parallax
- Droid CLI vs Harness
- Droid CLI vs Paperclip
- Droid CLI vs Parallax
Machine-readable
- This page as Markdown
/compare/crush-vs-droid-cli.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/crush.json·/api/v1/tools/droid-cli.json - From a terminal
anchor compare crush droid-cli(the CLI) - Over MCP
compare_tools {"a": "crush", "b": "droid-cli"}at/mcp, no key