# Droid CLI vs Pi > Pi scores 68.4 (B) to Droid CLI's 59.1 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi - Markdown: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.md (~2,500 tokens) - Slim: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.min.md (~680 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.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 - Updated: 2026-10-09 Pi scores 68.4 (B) on agent readiness against Droid CLI's 59.1 (C), and leads in 5 of 7 scored categories. Both do agent harnesses. - Droid CLI: grade C, 59.1/100, rank #560 of 950. Markdown https://www.anchorterminal.com/tools/droid-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/droid-cli.json - Pi: grade B, 68.4/100, rank #216 of 950. Markdown https://www.anchorterminal.com/tools/earendil-pi.md · JSON https://www.anchorterminal.com/api/v1/tools/earendil-pi.json - Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md - All 167 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md ## Which one, for what ### Droid CLI (C) Good for: Teams that want a terminal coding agent with tiered autonomy, command rules and an optional sandbox, and that will pay for a Factory plan. Also in its favour: - No incidents deducted, where Pi loses 4 points for them Watch for: No free tier or trial was found. Plans start at $20 a month and included usage is stated only as rolling rate limits without numbers ### 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 49 - Schema & documentation, 84 against 79 - Payments & pricing, 60 against 10 - Maintenance & community, 87 against 79 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 | Droid CLI | Pi | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 49 | 75 | Pi +26 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 79 | 84 | Pi +5 | | Agent ergonomics | 13% (16.2 this run) | 72 | 76 | Pi +4 | | Security & auth | 14% (17.5 this run) | 63 | 61 | Droid CLI +2 | | Payments & pricing | 10% (12.5 this run) | 10 | 60 | Pi +50 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 79 | 87 | Pi +8 | | Transparency & trust | 7% (8.8 this run) | 64 | 64 | even | | Negative events | ≤15 | 0 | -4 | | | **Total** | | **59.1 · C** | **68.4 · B** | | ## Facts side by side | Fact | Droid CLI | Pi | | --- | --- | --- | | Kind | Agent harness | Agent harness | | Vendor | Factory | Earendil | | Hosted endpoint | no (local only) | no (local only) | | Transports | | | | Auth | OAuth or key | None | | Pricing | Paid | Free | | x402 | no | no | | Licence | Proprietary, under Factory's Terms and Conditions. The `droid` npm package is marked `UNLICENSED` and the public repository holds documentation only. The Python SDK is Apache-2.0 | MIT | | Read-only variant documented | yes | no | | llms.txt | yes | no | | Last release | 2026-10-08 | 2026-10-07 | | Terms last updated | 2026-07-14 | no document linked | | Privacy policy last updated | 2026-08-20 | no document linked | | Customer content may train models | not found in the text | | | 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 | 49 stars, 7.8k npm/wk | 113k stars, 5.2M npm/wk | ## Verdicts **Droid CLI.** `droid exec` is read-only unless `--auto` raises the autonomy level, with command rules, an optional kernel-enforced sandbox, JSON output and documented exit codes. No free tier, status page or security.txt was found, the source is closed, and usage metrics go to Factory by default. **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 ### Droid CLI 1. Set `FACTORY_API_KEY` (starts `fk-`) from the API keys page in Factory settings for headless runs. Interactive use signs in through a browser 2. Start with `droid exec` and no flags for analysis. Add `--auto low` for edits and `--auto medium` for installs, tests and local commits 3. Use `--output-format json` and read `is_error`, `num_turns` and `session_id`. Treat a non-zero exit code as failure 4. Set `sandbox.enabled` to true before running on untrusted code. In `droid exec` a sandbox violation is denied without a prompt 5. Pin the version in CI with `npm install -g droid@`, or set `FACTORY_DROID_AUTO_UPDATE_ENABLED=false` on standalone installs, which update themselves ### 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 ## Questions ### Which is better for AI agents, Droid CLI or Pi? Pi scores 68.4 (B) on agent readiness against Droid CLI's 59.1 (C), and leads in 5 of 7 scored categories. ### Are Droid CLI and Pi open source? No open-source release is listed for Droid CLI. Pi is open source (MIT). ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "droid-cli", "b": "earendil-pi"}`. From a terminal: `anchor compare droid-cli earendil-pi` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/droid-cli.json and https://www.anchorterminal.com/api/v1/tools/earendil-pi.json ## Other comparisons with Droid CLI or Pi - [Aider vs Droid CLI](https://www.anchorterminal.com/compare/aider-vs-droid-cli.md) - [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md) - [Amp vs Droid CLI](https://www.anchorterminal.com/compare/amp-vs-droid-cli.md) - [Amp vs Pi](https://www.anchorterminal.com/compare/amp-vs-earendil-pi.md) - [Claude Code vs Droid CLI](https://www.anchorterminal.com/compare/claude-code-vs-droid-cli.md) - [Claude Code vs Pi](https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.md) - [Cline vs Droid CLI](https://www.anchorterminal.com/compare/cline-vs-droid-cli.md) - [Cline vs Pi](https://www.anchorterminal.com/compare/cline-vs-earendil-pi.md) - [Cursor CLI vs Droid CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-droid-cli.md) - [Cursor CLI vs Pi](https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.md) - [Devin vs Droid CLI](https://www.anchorterminal.com/compare/devin-vs-droid-cli.md) - [Devin vs Pi](https://www.anchorterminal.com/compare/devin-vs-earendil-pi.md) - [Droid CLI vs Gemini CLI](https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli.md) - [Droid CLI vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/droid-cli-vs-github-copilot-cli.md) - [Droid CLI vs goose](https://www.anchorterminal.com/compare/droid-cli-vs-goose.md) - [Droid CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kilo-code-cli.md) - [Droid CLI vs Kiro CLI](https://www.anchorterminal.com/compare/droid-cli-vs-kiro-cli.md) - [Droid CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.md) - [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md) - [Droid CLI vs OpenHands](https://www.anchorterminal.com/compare/droid-cli-vs-openhands.md) - [Droid CLI vs Prime Agent](https://www.anchorterminal.com/compare/droid-cli-vs-prime-agent.md) - [Droid CLI vs Qwen Code](https://www.anchorterminal.com/compare/droid-cli-vs-qwen-code.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 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 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) - [Droid CLI vs Paperclip](https://www.anchorterminal.com/compare/droid-cli-vs-paperclip.md)