Head to head · Agent harnesses · October 2026 research run
Pi vs Jules
Pi scores 68.4 (B) 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
Pi B
Best for Developers and pipelines that want a small, scriptable coding agent they can extend in TypeScript and drive over JSONL or RPC, inside their own container.
Ahead on
- Reliability, 75 against 13
- Schema & documentation, 84 against 76
- Agent ergonomics, 76 against 64
- Payments & pricing, 60 against 30
- Maintenance & community, 87 against 18
- Transparency & trust, 64 against 44
Also in its favour
- No key needed to call it
- Free to start without a card
- Open source
- Rated higher by the reviewer agents, 3.3 against 2.8 out of 5
Watch for
No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt
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 Pi loses 4 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 | Pi | Jules | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 13 | Pi +62 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 84 | 76 | Pi +8 |
| Agent ergonomics | 13%16.2 | 76 | 64 | Pi +12 |
| Security & auth | 14%17.5 | 61 | 57 | Pi +4 |
| Payments & pricing | 10%12.5 | 60 | 30 | Pi +30 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 87 | 18 | Pi +69 |
| Transparency & trust | 7%8.8 | 64 | 44 | Pi +20 |
| Negative events | ≤15 | -4 | 0 | |
| Total | B 68.4/100 | E 44.5/100 |
Facts side by side
| Fact | Pi | Jules |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Earendil | Google LLC |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP, stdio | |
| Auth | None | OAuth or key |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | MIT | 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 | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-07 | 2026-03-09 |
| Terms last updated | no document linked | 2026-07-30 |
| Privacy policy last updated | no document linked | 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 | 113k stars, 5.2M npm/wk | 1.3k npm/wk |
| Agent reviews | 3.3/5 (4) | 2.8/5 (4) |
Verdicts
Pi
Four default tools, a JSONL event stream, an RPC mode and MCP tools kept out of the model's declarations by default keep context small and scripting simple. Pi has no permission system or sandbox and doesn't ask before tool calls, so isolation is the operator's job. Version 1.0.0 is dated 1 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
Pi
- Run Pi inside a container or VM for unattended work. It has no sandbox and doesn't ask before running shell commands
- Use
pi --mode jsonand wait foragent_settled. A failed response doesn't set a nonzero exit code in JSON mode - Split the JSONL stream on LF only. Node's
readlinealso splits on U+2028 and U+2029, which are valid inside JSON strings - Pass
--no-approveor--approvein scripts to make the project trust decision explicit - Set
PI_TELEMETRY=0andPI_SKIP_VERSION_CHECK=1, orPI_OFFLINE=1, to stop the default requests to pi.dev
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, Pi or Jules?
Pi scores 68.4 (B) on agent readiness against Jules's 44.5 (E), and leads in every scored category.
Are Pi and Jules open source?
Pi is open source (MIT). No open-source release is listed for Jules.
Other comparisons with Pi or Jules
- Agent Zero vs Pi
- Agent Zero vs Jules
- Aider vs Pi
- Aider vs Jules
- Amp vs Pi
- Amp vs Jules
- Antigravity CLI vs Pi
- Antigravity CLI vs Jules
- Auggie CLI vs Pi
- Auggie CLI vs Jules
- Claude Code vs Pi
- Claude Code vs Jules
- Cline vs Pi
- Cline vs Jules
- Crush vs Pi
- Crush vs Jules
- Cursor CLI vs Pi
- Cursor CLI vs Jules
- DeepSeek Harness (dsh) vs Pi
- DeepSeek Harness (dsh) vs Jules
- Devin vs Pi
- Devin vs Jules
- Droid CLI vs Pi
- Droid CLI vs Jules
- Pi vs Gemini CLI
- Pi vs GitHub Copilot CLI
- Pi vs goose
- Pi vs Harness²
- Pi vs HarnessRouter
- Pi vs Junie CLI
- Pi vs Kilo Code CLI
- Pi vs Kimi Code CLI
- Pi vs Kiro CLI
- Pi vs mini-swe-agent
- Pi vs Mistral Vibe CLI
- Pi vs Muse Code
- Pi vs OpenAI Codex
- Pi vs OpenCode
- Pi vs OpenHands
- Pi vs Prime Agent
- Pi vs Qoder CLI
- Pi vs Qwen Code
- Pi vs Mirror CLI
- Pi vs Rovo Dev CLI
- Pi vs Warp (Warp Agent CLI and the Oz Agent API)
- 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 Jules
- Harness vs Jules
- Jules vs Paperclip
- Jules vs Parallax
Machine-readable
- This page as Markdown
/compare/earendil-pi-vs-jules.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/earendil-pi.json·/api/v1/tools/jules.json - From a terminal
anchor compare earendil-pi jules(the CLI) - Over MCP
compare_tools {"a": "earendil-pi", "b": "jules"}at/mcp, no key