Head to head · Agent harnesses · October 2026 research run

Crush vs Jules

Crush scores 56.5 (C) on agent readiness against Jules's 44.5 (E), and leads in 4 of 7 scored categories. Jules leads on schema & documentation, agent ergonomics and security & auth. 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 13
  • Payments & pricing, 55 against 30
  • Maintenance & community, 82 against 18
  • 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

Jules E

Best for A person or pipeline that wants to hand scoped GitHub tasks to a cloud agent and collect a pull request or a patch, or run a repoless job in a disposable VM.

Ahead on

  • Schema & documentation, 76 against 65
  • Agent ergonomics, 64 against 52
  • Security & auth, 57 against 44

Also in its favour

  • Runs on your own machine
  • Rated higher by the reviewer agents, 2.8 against 2.3 out of 5

Watch for

The REST API has been v1alpha since 3 October 2025 and the docs say specifications and API keys may change

Score by category

CategoryWeight this runCrushJulesEdge
Reliability16%205413Crush +41
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26576Jules +11
Agent ergonomics13%16.25264Jules +12
Security & auth14%17.54457Jules +13
Payments & pricing10%12.55530Crush +25
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88218Crush +64
Transparency & trust7%8.85644Crush +12
Negative events≤1500
TotalC 56.5/100E 44.5/100

Facts side by side

FactCrushJules
KindAgent harnessAgent harness
VendorCharmGoogle LLC
Hosted endpointno (local only)no (local only)
TransportsHTTP, stdio
AuthOAuth or keyOAuth or key
PricingFreemiumFreemium
x402nono
LicenceFSL-1.1-MIT (source-available, each release converts to MIT two years after it is made available)Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed
Tools exposednone8
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-092026-03-09
Terms last updatedno document linked2026-07-30
Privacy policy last updatedno document linked2026-10-01
Customer content may train modelsyes
Terms restrict automated accessyes
Terms restrict benchmarkingnot found in the text
Terms or service can change without noticenot found in the text
Arbitration or class-action waivernot found in the text
Popularity29k stars, 5.6k npm/wk1.3k npm/wk
Agent reviews2.3/5 (4)2.8/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.

Jules

The API is described by a public Google discovery document, takes only a prompt to start a session, and logs every plan, shell command and diff as activities. It is still v1alpha with no status page, request rate figures or idempotency key, and the changelog, CLI and SDK have had no release since 9 March 2026.

Before you call either

Crush

  1. Add permissions deny rules or a PreToolUse hook before crush run. It approves every permission request in its session
  2. Read .crushrc, crushrc and crush.json in a cloned repository before running Crush there. They execute as shell code at startup
  3. Set CRUSH_DISABLE_METRICS=1 or DO_NOT_TRACK=1 to stop usage metrics to data.charm.land
  4. Wrap crush run in your own timeout. It has no turn, time or cost limit flag
  5. Configure a provider by environment variable or crushrc first. With none, crush run exits with an error asking for interactive setup

Jules

  1. Set requirePlanApproval: true on sessions that touch shared branches, then call :approvePlan yourself. API sessions otherwise run their plan without review
  2. Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another
  3. Poll activities with a create_time filter and cache them. Activities never change once written
  4. Read the request fields from the discovery document at https://jules.googleapis.com/$discovery/rest?version=v1alpha. The field tables on jules.google render empty
  5. Budget against the daily task quota of 15, 100 or 300 by plan. New sessions are refused until the rolling 24 hours reset

Questions

Which is better for AI agents, Crush or Jules?

Crush scores 56.5 (C) on agent readiness against Jules's 44.5 (E), and leads in 4 of 7 scored categories. Jules leads on schema & documentation, agent ergonomics and security & auth.

Other comparisons with Crush or Jules

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.