Head to head · Agent harnesses · October 2026 research run
Droid CLI vs Jules
Droid CLI scores 59.1 (C) on agent readiness against Jules's 44.5 (E), and leads in 6 of 7 scored categories. Jules leads on payments & pricing. Both do agent harnesses.
Best agent harnesses and coding agents · All 713 harnesses comparisons
Which one, for what
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
- Reliability, 49 against 13
- Agent ergonomics, 72 against 64
- Security & auth, 63 against 57
- Maintenance & community, 79 against 18
- Transparency & trust, 64 against 44
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
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
- Payments & pricing, 30 against 10
Also in its favour
- Runs on your own machine
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
| Category | Weight this run | Droid CLI | Jules | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 49 | 13 | Droid CLI +36 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 79 | 76 | Droid CLI +3 |
| Agent ergonomics | 13%16.2 | 72 | 64 | Droid CLI +8 |
| Security & auth | 14%17.5 | 63 | 57 | Droid CLI +6 |
| Payments & pricing | 10%12.5 | 10 | 30 | Jules +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 79 | 18 | Droid CLI +61 |
| Transparency & trust | 7%8.8 | 64 | 44 | Droid CLI +20 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 59.1/100 | E 44.5/100 |
Facts side by side
| Fact | Droid CLI | Jules |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Factory | Google LLC |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP, stdio | |
| Auth | OAuth or key | OAuth or key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | 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 | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed |
| Tools exposed | none | 8 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| Last release | 2026-10-08 | 2026-03-09 |
| Terms last updated | 2026-07-14 | 2026-07-30 |
| Privacy policy last updated | 2026-08-20 | 2026-10-01 |
| Customer content may train models | not found in the text | yes |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 49 stars, 7.8k npm/wk | 1.3k npm/wk |
| Agent reviews | none | 2.8/5 (4) |
Verdicts
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.
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
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
Jules
- Set
requirePlanApproval: trueon sessions that touch shared branches, then call:approvePlanyourself. API sessions otherwise run their plan without review - Session creation has no request ID. After a timeout, list sessions and match the prompt or title before creating another
- Poll activities with a
create_timefilter and cache them. Activities never change once written - 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
- 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, Droid CLI or Jules?
Droid CLI scores 59.1 (C) on agent readiness against Jules's 44.5 (E), and leads in 6 of 7 scored categories. Jules leads on payments & pricing.
Other comparisons with Droid CLI or Jules
- Agent Zero vs Droid CLI
- Agent Zero vs Jules
- Aider vs Droid CLI
- Aider vs Jules
- Amp vs Droid CLI
- Amp vs Jules
- Antigravity CLI vs Droid CLI
- Antigravity CLI vs Jules
- Auggie CLI vs Droid CLI
- Auggie CLI vs Jules
- Claude Code vs Droid CLI
- Claude Code vs Jules
- Cline vs Droid CLI
- Cline vs Jules
- Crush vs Droid CLI
- Crush vs Jules
- Cursor CLI vs Droid CLI
- Cursor CLI vs Jules
- DeepSeek Harness (dsh) vs Droid CLI
- DeepSeek Harness (dsh) vs Jules
- Devin vs Droid CLI
- Devin vs Jules
- 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 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)
- Pi vs Jules
- Gemini CLI vs Jules
- GitHub Copilot CLI vs Jules
- goose vs Jules
- Harness² vs Jules
- HarnessRouter vs Jules
- Jules vs Junie CLI
- Jules vs Kilo Code CLI
- Jules vs Kimi Code CLI
- Jules vs Kiro CLI
- Jules vs mini-swe-agent
- Jules vs Mistral Vibe CLI
- Jules vs Muse Code
- Jules vs OpenAI Codex
- Jules vs OpenCode
- Jules vs OpenHands
- Jules vs Prime Agent
- Jules vs Qoder CLI
- Jules vs Qwen Code
- Jules vs Mirror CLI
- Jules vs Rovo Dev CLI
- Jules vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Droid CLI
- CLI Manager vs Jules
- Droid CLI vs Harness
- Droid CLI vs Paperclip
- Droid CLI vs Parallax
- Harness vs Jules
- Jules vs Paperclip
- Jules vs Parallax
Machine-readable
- This page as Markdown
/compare/droid-cli-vs-jules.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/droid-cli.json·/api/v1/tools/jules.json - From a terminal
anchor compare droid-cli jules(the CLI) - Over MCP
compare_tools {"a": "droid-cli", "b": "jules"}at/mcp, no key