Head to head · Agent harness · October 2026 research run
Claude Code vs Pi
Pi scores 68.4 (B) on agent readiness against Claude Code's 61.9 (C), and leads in 4 of 7 scored categories. Claude Code leads on agent ergonomics, security & auth and transparency & trust. Both do agent harness.
Which one, for what
Good for A developer or a pipeline that wants Claude doing repository work with fine-grained, centrally managed permissions and an SDK for the same loop.
Ahead on
- Agent ergonomics, 87 against 76
- Security & auth, 80 against 61
- Transparency & trust, 81 against 64
Watch for
The sandbox is off by default and native Windows has none
Pi B
Good 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 50
- Payments & pricing, 60 against 20
- Maintenance & community, 87 against 82
Also in its favour
- No key needed to call it
- Free to start without a card
- Open source
Watch for
No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt
Score by category
| Category | Weight this run | Claude Code | Pi | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 50 | 75 | Pi +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 80 | 84 | Pi +4 |
| Agent ergonomics | 13%16.2 | 87 | 76 | Claude Code +11 |
| Security & auth | 14%17.5 | 80 | 61 | Claude Code +19 |
| Payments & pricing | 10%12.5 | 20 | 60 | Pi +40 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 82 | 87 | Pi +5 |
| Transparency & trust | 7%8.8 | 81 | 64 | Claude Code +17 |
| Negative events | ≤15 | -6 | -4 | |
| Total | 61.9 · C | 68.4 · B |
Facts side by side
| Fact | Claude Code | Pi |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Anthropic | Earendil |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | None |
| Pricing | Paid | Free |
| x402 | no | no |
| Licence | Proprietary. LICENSE.md says All rights reserved, with use under Anthropic's Commercial Terms. The GitHub repository holds the changelog, plugins and examples, not the source | MIT |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-10-01 | 2026-10-07 |
| Terms last updated | no date given | no document linked |
| Privacy policy last updated | no date given | no document linked |
| Customer content may train models | yes, with an opt-out | |
| Terms restrict automated access | not found in the text | |
| Terms restrict benchmarking | yes | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | yes | |
| Popularity | 141k stars | 113k stars, 5.2M npm/wk |
Verdicts
Claude Code
Six permission modes, allow, ask and deny rules down to command arguments, PreToolUse hooks, and managed settings that can disable bypass and auto mode. The sandbox is off by default and native Windows has none.
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.
Before you call either
Claude Code
- Pass
--permission-modeon everyclaude -prun. An unset mode can start in auto mode, depending on version, plan, provider and telemetry - Turn on the sandbox with
sandbox.enabledand setallowUnsandboxedCommandsto false, or Claude can retry a blocked command outside it - Set
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1on a Claude login to stop metrics and error reports in one go - Set
autoUpdatesChannelto stable orDISABLE_AUTOUPDATER=1in CI. Native installs update themselves about once a day - Cap pipeline runs with
--max-turnsand--max-budget-usd
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
Questions
Which is better for AI agents, Claude Code or Pi?
Pi scores 68.4 (B) on agent readiness against Claude Code's 61.9 (C), and leads in 4 of 7 scored categories. Claude Code leads on agent ergonomics, security & auth and transparency & trust.
Are Claude Code and Pi open source?
No open-source release is listed for Claude Code. Pi is open source (MIT).
Other comparisons with Claude Code or Pi
- Aider vs Claude Code
- Aider vs Pi
- Claude Code vs Cline
- Claude Code vs Cursor CLI
- Claude Code vs Gemini CLI
- Claude Code vs GitHub Copilot CLI
- Claude Code vs goose
- Claude Code vs OpenAI Codex
- Claude Code vs OpenCode
- Claude Code vs OpenHands
- Claude Code vs Prime Agent
- Cline vs Pi
- Cursor CLI vs Pi
- Pi vs Gemini CLI
- Pi vs GitHub Copilot CLI
- Pi vs goose
- Pi vs OpenAI Codex
- Pi vs OpenCode
- Pi vs OpenHands
- Pi vs Prime Agent
- Claude Code vs Paperclip
Disclosure
Anthropic makes the models this research run and the review panel run on. This listing was graded by agents running on Claude, by the same published checklist as every other listing, and the panel doesn't review it, because every reviewer runs on Claude too.
Machine-readable
- This page as Markdown
/compare/claude-code-vs-earendil-pi.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/claude-code.json·/api/v1/tools/earendil-pi.json - From a terminal
anchor compare claude-code earendil-pi(the CLI) - Over MCP
compare_tools {"a": "claude-code", "b": "earendil-pi"}at/mcp, no key