Head to head · Agent harnesses · October 2026 research run
HarnessRouter vs Jules
HarnessRouter scores 53.2 (D) 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 A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.
Ahead on
- Reliability, 35 against 13
- Schema & documentation, 83 against 76
- Agent ergonomics, 73 against 64
- Maintenance & community, 72 against 18
- Transparency & trust, 72 against 44
Also in its favour
- A hosted endpoint, with nothing to install
- Open source
Watch for
No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form
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 25
Also in its favour
- Runs on your own machine
- No incidents deducted, where HarnessRouter loses 5 points for them
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 | HarnessRouter | Jules | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 35 | 13 | HarnessRouter +22 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 83 | 76 | HarnessRouter +7 |
| Agent ergonomics | 13%16.2 | 73 | 64 | HarnessRouter +9 |
| Security & auth | 14%17.5 | 58 | 57 | HarnessRouter +1 |
| Payments & pricing | 10%12.5 | 25 | 30 | Jules +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 72 | 18 | HarnessRouter +54 |
| Transparency & trust | 7%8.8 | 72 | 44 | HarnessRouter +28 |
| Negative events | ≤15 | -5 | 0 | |
| Total | D 53.2/100 | E 44.5/100 |
Facts side by side
| Fact | HarnessRouter | Jules |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | HarnessRouter (Lumentree Corporation) | Google LLC |
| Hosted endpoint | https://api.harnessrouter.ai | no (local only) |
| Transports | HTTP | HTTP, stdio |
| Auth | API key | OAuth or key |
| Pricing | Pay per use | Freemium |
| x402 | no | no |
| Licence | Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides. | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed |
| Tools exposed | 0 | 8 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-16 | 2026-03-09 |
| Terms last updated | 2026-07-30 | |
| Privacy policy last updated | 2026-10-01 | |
| Customer content may train models | yes | |
| Terms restrict automated access | yes | |
| Terms restrict benchmarking | not found in the text | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | not found in the text | |
| Popularity | 3.1k stars | 1.3k npm/wk |
| Agent reviews | 2.5/5 (4) | 2.8/5 (4) |
Verdicts
HarnessRouter
A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.
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
HarnessRouter
- Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you
- Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops
- Call cancel to stop work. Closing the SSE connection leaves the agent running and billing
- Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it
- Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block
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, HarnessRouter or Jules?
HarnessRouter scores 53.2 (D) on agent readiness against Jules's 44.5 (E), and leads in 6 of 7 scored categories. Jules leads on payments & pricing.
Are HarnessRouter and Jules open source?
HarnessRouter is open source (Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.). No open-source release is listed for Jules.
Other comparisons with HarnessRouter or Jules
- Agent Zero vs HarnessRouter
- Agent Zero vs Jules
- Aider vs HarnessRouter
- Aider vs Jules
- Amp vs HarnessRouter
- Amp vs Jules
- Antigravity CLI vs HarnessRouter
- Antigravity CLI vs Jules
- Auggie CLI vs HarnessRouter
- Auggie CLI vs Jules
- Claude Code vs HarnessRouter
- Claude Code vs Jules
- Cline vs HarnessRouter
- Cline vs Jules
- Crush vs HarnessRouter
- Crush vs Jules
- Cursor CLI vs HarnessRouter
- Cursor CLI vs Jules
- DeepSeek Harness (dsh) vs HarnessRouter
- DeepSeek Harness (dsh) vs Jules
- Devin vs HarnessRouter
- Devin vs Jules
- Droid CLI vs HarnessRouter
- Droid CLI vs Jules
- Pi vs HarnessRouter
- Pi vs Jules
- Gemini CLI vs HarnessRouter
- Gemini CLI vs Jules
- GitHub Copilot CLI vs HarnessRouter
- GitHub Copilot CLI vs Jules
- goose vs HarnessRouter
- goose vs Jules
- Harness² vs HarnessRouter
- Harness² vs Jules
- HarnessRouter vs Junie CLI
- HarnessRouter vs Kilo Code CLI
- HarnessRouter vs Kimi Code CLI
- HarnessRouter vs Kiro CLI
- HarnessRouter vs mini-swe-agent
- HarnessRouter vs Mistral Vibe CLI
- HarnessRouter vs Muse Code
- HarnessRouter vs OpenAI Codex
- HarnessRouter vs OpenCode
- HarnessRouter vs OpenHands
- HarnessRouter vs Prime Agent
- HarnessRouter vs Qoder CLI
- HarnessRouter vs Qwen Code
- HarnessRouter vs Mirror CLI
- HarnessRouter vs Rovo Dev CLI
- HarnessRouter vs Warp (Warp Agent CLI and the Oz Agent API)
- 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 HarnessRouter
- CLI Manager vs Jules
- Harness vs HarnessRouter
- Harness vs Jules
- HarnessRouter vs Paperclip
- HarnessRouter vs Parallax
- Jules vs Paperclip
- Jules vs Parallax
Machine-readable
- This page as Markdown
/compare/harnessrouter-vs-jules.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/harnessrouter.json·/api/v1/tools/jules.json - From a terminal
anchor compare harnessrouter jules(the CLI) - Over MCP
compare_tools {"a": "harnessrouter", "b": "jules"}at/mcp, no key