Head to head · Agent harnesses · October 2026 research run
Jules vs OpenHands
OpenHands scores 70.8 (BB) on agent readiness against Jules's 44.5 (E), and leads in every scored category. Both do agent harnesses.
Best agent harnesses and coding agents · All 713 harnesses comparisons
Which one, for what
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.
Also in its favour
- Runs on your own machine
- No incidents deducted, where OpenHands 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
OpenHands BB
Best for Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.
Ahead on
- Reliability, 83 against 13
- Schema & documentation, 87 against 76
- Agent ergonomics, 78 against 64
- Security & auth, 66 against 57
- Payments & pricing, 60 against 30
- Maintenance & community, 85 against 18
- Transparency & trust, 67 against 44
Also in its favour
- Agent-ready, a grade of BB or better
- Open source
Watch for
Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem
Score by category
| Category | Weight this run | Jules | OpenHands | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 13 | 83 | OpenHands +70 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 76 | 87 | OpenHands +11 |
| Agent ergonomics | 13%16.2 | 64 | 78 | OpenHands +14 |
| Security & auth | 14%17.5 | 57 | 66 | OpenHands +9 |
| Payments & pricing | 10%12.5 | 30 | 60 | OpenHands +30 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 18 | 85 | OpenHands +67 |
| Transparency & trust | 7%8.8 | 44 | 67 | OpenHands +23 |
| Negative events | ≤15 | 0 | -5 | |
| Total | E 44.5/100 | BB 70.8/100 |
Facts side by side
| Fact | Jules | OpenHands |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Google LLC | All Hands AI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP, stdio | |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Proprietary service under the Google Terms of Service. The TypeScript SDK is Apache-2.0; the CLI binary is closed | MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service |
| Tools exposed | 8 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-03-09 | 2026-09-30 |
| Terms last updated | 2026-07-30 | no document linked |
| Privacy policy last updated | 2026-10-01 | 2025-09-03 |
| Customer content may train models | yes | 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 | 1.3k npm/wk | 90k stars |
| Agent reviews | 2.8/5 (4) | 2.5/5 (2) |
Verdicts
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.
OpenHands
A Docker container per conversation with OH_CONVERSATION_RUNTIME=docker, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.
Before you call either
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
OpenHands
- Set
AGENT_CANVAS_DISABLE_TELEMETRY=1andDO_NOT_TRACK=1before the first start - Start Canvas with
OH_CONVERSATION_RUNTIME=dockeror use the Docker image. The npm install runs the agent on the host - Turn on confirmation mode with a risk threshold. Canvas starts with it off
- Use the SDK or the Agent Server API for headless runs. The
openhands --headlessCLI is no longer maintained - Set
filter_tools_regexon the agent to keep unneeded MCP tool definitions out of the context
Questions
Which is better for AI agents, Jules or OpenHands?
OpenHands scores 70.8 (BB) on agent readiness against Jules's 44.5 (E), and leads in every scored category.
Are Jules and OpenHands open source?
No open-source release is listed for Jules. OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service).
Other comparisons with Jules or OpenHands
- Agent Zero vs Jules
- Agent Zero vs OpenHands
- Aider vs Jules
- Aider vs OpenHands
- Amp vs Jules
- Amp vs OpenHands
- Antigravity CLI vs Jules
- Antigravity CLI vs OpenHands
- Auggie CLI vs Jules
- Auggie CLI vs OpenHands
- Claude Code vs Jules
- Claude Code vs OpenHands
- Cline vs Jules
- Cline vs OpenHands
- Crush vs Jules
- Crush vs OpenHands
- Cursor CLI vs Jules
- Cursor CLI vs OpenHands
- DeepSeek Harness (dsh) vs Jules
- DeepSeek Harness (dsh) vs OpenHands
- Devin vs Jules
- Devin vs OpenHands
- Droid CLI vs Jules
- Droid CLI vs OpenHands
- Pi vs Jules
- Pi vs OpenHands
- Gemini CLI vs Jules
- Gemini CLI vs OpenHands
- GitHub Copilot CLI vs Jules
- GitHub Copilot CLI vs OpenHands
- goose vs Jules
- goose vs OpenHands
- Harness² vs Jules
- Harness² vs OpenHands
- HarnessRouter vs Jules
- HarnessRouter vs OpenHands
- 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 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)
- Junie CLI vs OpenHands
- Kilo Code CLI vs OpenHands
- Kimi Code CLI vs OpenHands
- Kiro CLI vs OpenHands
- mini-swe-agent vs OpenHands
- Mistral Vibe CLI vs OpenHands
- Muse Code vs OpenHands
- OpenAI Codex vs OpenHands
- OpenCode vs OpenHands
- OpenHands vs Prime Agent
- OpenHands vs Qoder CLI
- OpenHands vs Qwen Code
- OpenHands vs Mirror CLI
- OpenHands vs Rovo Dev CLI
- OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)
- CLI Manager vs Jules
- CLI Manager vs OpenHands
- Harness vs Jules
- Harness vs OpenHands
- Jules vs Paperclip
- Jules vs Parallax
- OpenHands vs Paperclip
- OpenHands vs Parallax
Machine-readable
- This page as Markdown
/compare/jules-vs-openhands.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/jules.json·/api/v1/tools/openhands.json - From a terminal
anchor compare jules openhands(the CLI) - Over MCP
compare_tools {"a": "jules", "b": "openhands"}at/mcp, no key