# Pi vs Harness² > Pi scores 68.4 (B) to Harness²'s 41.6 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2 - Markdown: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.md (~2,850 tokens) - Slim: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.min.md (~580 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key) - Licence: CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author. - Updated: 2026-10-18 Pi scores 68.4 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category. Both do agent harnesses. - Pi: grade B, 68.4/100, rank #233 of 1135. Markdown https://www.anchorterminal.com/tools/earendil-pi.md · JSON https://www.anchorterminal.com/api/v1/tools/earendil-pi.json - Harness²: grade E, 41.6/100, rank #1029 of 1135. Markdown https://www.anchorterminal.com/tools/harness2.md · JSON https://www.anchorterminal.com/api/v1/tools/harness2.json - Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md - All 354 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md ## Which one, for what ### 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 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) Good 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 | Pi | Harness² | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 75 | 20 | Pi +55 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 84 | 51 | Pi +33 | | Agent ergonomics | 13% (16.2 this run) | 76 | 59 | Pi +17 | | Security & auth | 14% (17.5 this run) | 61 | 44 | Pi +17 | | Payments & pricing | 10% (12.5 this run) | 60 | 40 | Pi +20 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 87 | 36 | Pi +51 | | Transparency & trust | 7% (8.8 this run) | 64 | 44 | Pi +20 | | Negative events | ≤15 | -4 | 0 | | | **Total** | | **68.4 · B** | **41.6 · E** | | ## 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 1. Run Pi inside a container or VM for unattended work. It has no sandbox and doesn't ask before running shell commands 2. Use `pi --mode json` and wait for `agent_settled`. A failed response doesn't set a nonzero exit code in JSON mode 3. Split the JSONL stream on LF only. Node's `readline` also splits on U+2028 and U+2029, which are valid inside JSON strings 4. Pass `--no-approve` or `--approve` in scripts to make the project trust decision explicit 5. Set `PI_TELEMETRY=0` and `PI_SKIP_VERSION_CHECK=1`, or `PI_OFFLINE=1`, to stop the default requests to pi.dev ### Harness² 1. 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 2. Ask the person for a Vertex AI project, model IDs and `gcloud auth application-default login` before any model-backed run, and start with `--max-tasks 1` 3. 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 4. Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it 5. Use the same benchmark, executor, `--k`, `--mode` and seed for `harness2`, `harness2-judge` and `harness2-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).). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.json, and with the fewest tokens: https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "earendil-pi", "b": "harness2"}`. From a terminal: `anchor compare earendil-pi harness2` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/earendil-pi.json and https://www.anchorterminal.com/api/v1/tools/harness2.json ## Other comparisons with Pi or Harness² - [Agent Zero vs Pi](https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi.md) - [Agent Zero vs Harness²](https://www.anchorterminal.com/compare/agent-zero-vs-harness2.md) - [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md) - [Aider vs Harness²](https://www.anchorterminal.com/compare/aider-vs-harness2.md) - [Amp vs Pi](https://www.anchorterminal.com/compare/amp-vs-earendil-pi.md) - [Amp vs Harness²](https://www.anchorterminal.com/compare/amp-vs-harness2.md) - [Antigravity CLI vs Pi](https://www.anchorterminal.com/compare/antigravity-cli-vs-earendil-pi.md) - [Antigravity CLI vs Harness²](https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2.md) - [Claude Code vs Pi](https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.md) - [Claude Code vs Harness²](https://www.anchorterminal.com/compare/claude-code-vs-harness2.md) - [Cline vs Pi](https://www.anchorterminal.com/compare/cline-vs-earendil-pi.md) - [Cline vs Harness²](https://www.anchorterminal.com/compare/cline-vs-harness2.md) - [Cursor CLI vs Pi](https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.md) - [Cursor CLI vs Harness²](https://www.anchorterminal.com/compare/cursor-cli-vs-harness2.md) - [Devin vs Pi](https://www.anchorterminal.com/compare/devin-vs-earendil-pi.md) - [Devin vs Harness²](https://www.anchorterminal.com/compare/devin-vs-harness2.md) - [Droid CLI vs Pi](https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.md) - [Droid CLI vs Harness²](https://www.anchorterminal.com/compare/droid-cli-vs-harness2.md) - [Pi vs Gemini CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli.md) - [Pi vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-github-copilot-cli.md) - [Pi vs goose](https://www.anchorterminal.com/compare/earendil-pi-vs-goose.md) - [Pi vs HarnessRouter](https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.md) - [Pi vs Kilo Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli.md) - [Pi vs Kiro CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli.md) - [Pi vs Muse Code](https://www.anchorterminal.com/compare/earendil-pi-vs-muse-code.md) - [Pi vs OpenAI Codex](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.md) - [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md) - [Pi vs OpenHands](https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.md) - [Pi vs Prime Agent](https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.md) - [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.md) - [Pi vs Mirror CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.md) - [Gemini CLI vs Harness²](https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.md) - [GitHub Copilot CLI vs Harness²](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2.md) - [goose vs Harness²](https://www.anchorterminal.com/compare/goose-vs-harness2.md) - [Harness² vs HarnessRouter](https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.md) - [Harness² vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.md) - [Harness² vs Kiro CLI](https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.md) - [Harness² vs Muse Code](https://www.anchorterminal.com/compare/harness2-vs-muse-code.md) - [Harness² vs OpenAI Codex](https://www.anchorterminal.com/compare/harness2-vs-openai-codex.md) - [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md) - [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md) - [Harness² vs Prime Agent](https://www.anchorterminal.com/compare/harness2-vs-prime-agent.md) - [Harness² vs Qwen Code](https://www.anchorterminal.com/compare/harness2-vs-qwen-code.md) - [Harness² vs Mirror CLI](https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.md) --- Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp