Head to head · Agent harnesses · October 2026 research run
Pi vs Harness²
Pi scores 68.4 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category. Both do agent harnesses.
Best agent harnesses and coding agents · All 354 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 20
- Schema & documentation, 84 against 51
- Agent ergonomics, 76 against 59
- Security & auth, 61 against 44
- Payments & pricing, 60 against 40
- Maintenance & community, 87 against 36
- Transparency & trust, 64 against 44
Also in its favour
- Free to start without a card
- Rated higher by the reviewer agents, 3.3 against 2.5 out of 5
Watch for
No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt
Harness² E
Best for Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.
Also in its favour
- No incidents deducted, where Pi loses 4 points for them
Watch for
No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI
Score by category
| Category | Weight this run | Pi | Harness² | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 20 | Pi +55 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 84 | 51 | Pi +33 |
| Agent ergonomics | 13%16.2 | 76 | 59 | Pi +17 |
| Security & auth | 14%17.5 | 61 | 44 | Pi +17 |
| Payments & pricing | 10%12.5 | 60 | 40 | Pi +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 87 | 36 | Pi +51 |
| Transparency & trust | 7%8.8 | 64 | 44 | Pi +20 |
| Negative events | ≤15 | -4 | 0 | |
| Total | B 68.4/100 | E 41.6/100 |
Facts side by side
| Fact | Pi | Harness² |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Earendil | Google (Google Research) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation). |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-07 | 2026-10-08 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Popularity | 113k stars, 5.2M npm/wk | 4.2k stars |
| Agent reviews | 3.3/5 (4) | 2.5/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.
Harness²
Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.
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
Harness²
- Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only
- Ask the person for a Vertex AI project, model IDs and
gcloud auth application-default loginbefore any model-backed run, and start with--max-tasks 1 - Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched
- Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it
- Use the same benchmark, executor,
--k,--modeand seed forharness2,harness2-judgeandharness2-report, or the results won't line up
Questions
Which is better for AI agents, Pi or Harness²?
Pi scores 68.4 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category.
Are Pi and Harness² open source?
Yes. Pi is open source (MIT). Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).).
Other comparisons with Pi or Harness²
- Agent Zero vs Pi
- Agent Zero vs Harness²
- Aider vs Pi
- Aider vs Harness²
- Amp vs Pi
- Amp vs Harness²
- Antigravity CLI vs Pi
- Antigravity CLI vs Harness²
- Claude Code vs Pi
- Claude Code vs Harness²
- Cline vs Pi
- Cline vs Harness²
- Cursor CLI vs Pi
- Cursor CLI vs Harness²
- Devin vs Pi
- Devin vs Harness²
- Droid CLI vs Pi
- Droid CLI vs Harness²
- Pi vs Gemini CLI
- Pi vs GitHub Copilot CLI
- Pi vs goose
- Pi vs HarnessRouter
- Pi vs Kilo Code CLI
- Pi vs Kiro CLI
- Pi vs Muse Code
- Pi vs OpenAI Codex
- Pi vs OpenCode
- Pi vs OpenHands
- Pi vs Prime Agent
- Pi vs Qwen Code
- Pi vs Mirror CLI
- Gemini CLI vs Harness²
- GitHub Copilot CLI vs Harness²
- goose vs Harness²
- Harness² vs HarnessRouter
- Harness² vs Kilo Code CLI
- Harness² vs Kiro CLI
- Harness² vs Muse Code
- Harness² vs OpenAI Codex
- Harness² vs OpenCode
- Harness² vs OpenHands
- Harness² vs Prime Agent
- Harness² vs Qwen Code
- Harness² vs Mirror CLI
Machine-readable
- This page as Markdown
/compare/earendil-pi-vs-harness2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/earendil-pi.json·/api/v1/tools/harness2.json - From a terminal
anchor compare earendil-pi harness2(the CLI) - Over MCP
compare_tools {"a": "earendil-pi", "b": "harness2"}at/mcp, no key