{
  "data": {
    "a": {
      "slug": "earendil-pi",
      "name": "Pi",
      "vendor": "Earendil",
      "vendorUrl": "https://pi.dev",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Pi is an open-source terminal coding agent from Earendil, run on the owner's machine with any of 15 or more model providers. It has interactive, print, JSON and RPC modes, a TypeScript SDK and a built-in MCP client.",
      "url": "https://www.anchorterminal.com/tools/earendil-pi",
      "markdownUrl": "https://www.anchorterminal.com/tools/earendil-pi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/earendil-pi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/earendil-pi.json",
      "repo": "https://github.com/earendil-works/pi",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@earendil-works/pi-coding-agent"
        }
      ],
      "auth": "none",
      "authNotes": "No Pi account needed. Model providers are connected with `/login` (a subscription or an API key, stored in `~/.pi/agent/auth.json`) or with environment variables such as `ANTHROPIC_API_KEY`. MCP servers take headers, bearer tokens from the environment or OAuth, with tokens kept in `~/.pi/agent/mcp-auth.json`. Radius, the optional hosted gateway, needs its own sign-in or `RADIUS_API_KEY`.",
      "pricing": "free",
      "pricingNotes": "Free and MIT, with no paid edition of the harness. The owner pays the model provider. Radius, Earendil's optional hosted gateway, is an early alpha sold by prepaid credits, and no public price list was found (checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository or the docs (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 113417,
        "npmWeekly": 5201697,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://pi.dev/docs/latest",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "typescript",
        "mcp",
        "json-output",
        "rpc",
        "no-sandbox"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 170,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 87,
          "payments": 60,
          "reliability": 75,
          "schema": 84,
          "security": 61,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-06-08. GHSA-jfgx-wxx8-mp94 (CVE-2026-54328, high). Temporary extension installs used predictable paths under the system temp directory, so another local user on a shared Linux host could plant extension code that Pi then loaded. Fixed in 0.78.1. Fixed, published and four months old, -2. https://github.com/earendil-works/pi/security/advisories/GHSA-jfgx-wxx8-mp94",
          "2026-06-08. GHSA-mqxh-6gq7-558m (CVE-2026-54325, medium). Before 0.79.0 Pi loaded a repository's `.pi` settings and extensions without asking, so starting it in a cloned repository could run that repository's code. Fixed in 0.79.0 with project trust. Fixed and published, -2. https://github.com/earendil-works/pi/security/advisories/GHSA-mqxh-6gq7-558m",
          "2026-06-08. GHSA-7v5m-pr3q-6453 (CVE-2026-54326, low, XSS in HTML session exports) and GHSA-r95r-rj6r-c39x (CVE-2026-54327, low, a race in `auth.json` permissions). Both fixed in 0.78.1. Recorded without a deduction. https://github.com/earendil-works/pi/security/advisories"
        ],
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Four default tools (read, bash, edit, write), with MCP tools reachable through codemode scripts and not declared to the model by default",
          "`--mode json` streams JSONL events and `--mode rpc` takes JSONL commands, both documented record by record, with a Python client example",
          "Built-in MCP client for stdio and streamable HTTP servers with OAuth, per-tool exposure settings and a conformance job in CI",
          "Project trust stops a repository's `.pi` settings, extensions and MCP servers loading until approved, and non-interactive modes skip them by default",
          "npm releases carry SLSA provenance from GitHub Actions trusted publishing, and the installer pins transitive dependencies"
        ],
        "weaknesses": [
          "No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt",
          "An anonymous install and update ping to pi.dev and a latest-version request are on by default",
          "Four advisories published on 8 June 2026, one rated high and one medium, all fixed by 0.79.0",
          "No privacy policy for pi.dev or the CLI found, and pi.dev has no security.txt",
          "Eight of the last 15 CI runs on main failed on 7 and 8 October 2026, and a breaking provider rename shipped in patch release 1.0.3"
        ],
        "agentNotes": [
          "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 json` and wait for `agent_settled`. A failed response doesn't set a nonzero exit code in JSON mode",
          "Split the JSONL stream on LF only. Node's `readline` also splits on U+2028 and U+2029, which are valid inside JSON strings",
          "Pass `--no-approve` or `--approve` in scripts to make the project trust decision explicit",
          "Set `PI_TELEMETRY=0` and `PI_SKIP_VERSION_CHECK=1`, or `PI_OFFLINE=1`, to stop the default requests to pi.dev"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 87,
          "payments": 60,
          "reliability": 75,
          "schema": 84,
          "security": 61,
          "transparency": 64
        },
        "provenanceScore": 63
      },
      "connect": {
        "install": "curl -fsSL https://pi.dev/install.sh | sh   # or: npm install -g --ignore-scripts @earendil-works/pi-coding-agent",
        "headless": {
          "command": "pi --mode json --no-session --no-approve \"$TASK\"",
          "env": {
            "PI_SKIP_VERSION_CHECK": "1",
            "PI_TELEMETRY": "0"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/earendil-pi"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Earendil Inc.",
        "domain": "pi.dev",
        "domainRegistered": "2024-01-30",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://pi.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The pi.dev and earendil.com footers read Earendil Inc. The Radius alpha terms of 1 September 2026 name Earendil Works Co., and the README calls the company Earendil Works.",
          "We found no terms or privacy page for pi.dev or the CLI. pi.dev/terms, pi.dev/privacy and earendil.com/privacy return 404. Terms exist only for Radius, at radius.earendil.com/terms.",
          "pi.dev/.well-known/security.txt and earendil.com/.well-known/security.txt return 404. SECURITY.md gives security@earendil.com and GitHub private reporting.",
          "RDAP for pi.dev gives a registration date of 2024-01-30 with Cloudflare as registrar. The README says the domain was donated by exe.dev.",
          "The repository moved from badlogic/pi-mono to earendil-works/pi, and the npm package from @mariozechner/pi-coding-agent to @earendil-works/pi-coding-agent at 0.74.0, per the advisories."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/earendil-pi.json",
      "live": {
        "slug": "earendil-pi",
        "versions": [
          {
            "registry": "github",
            "name": "earendil-works/pi",
            "version": "v1.1.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:09:44.573412777Z"
          },
          {
            "registry": "npm",
            "name": "@earendil-works/pi-coding-agent",
            "version": "1.1.0",
            "seenAt": "2026-10-08T16:09:41.369786574Z"
          }
        ],
        "githubStars": 113482,
        "npmWeekly": 5201697,
        "securityTxt": {
          "url": "https://pi.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:42.51766104Z"
        },
        "pages": [
          {
            "url": "https://pi.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:53.741589246Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "82f9cb8bddf7"
          }
        ],
        "updatedAt": "2026-10-08T18:22:53.741589246Z"
      }
    },
    "answer": "Pi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "prime-agent",
      "name": "Prime Agent",
      "vendor": "Prime Intellect",
      "vendorUrl": "https://www.primeintellect.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Prime Agent is an open-source coding and research agent from Prime Intellect, run from a terminal. The model works through a persistent Python REPL, spawns subagents as function calls and keeps sessions running in a background daemon.",
      "url": "https://www.anchorterminal.com/tools/prime-agent",
      "markdownUrl": "https://www.anchorterminal.com/tools/prime-agent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/prime-agent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/prime-agent.json",
      "repo": "https://github.com/PrimeIntellect-ai/prime-agent",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account of its own is required. `/login` on first launch picks a subscription or an API-key provider, and provider keys can also come from environment variables such as `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `OPENROUTER_API_KEY` or `PRIME_API_KEY`.",
      "pricing": "free",
      "pricingNotes": "Free and MIT-licensed, with nothing to buy for the agent itself. The model provider is paid separately, and Prime Intellect's own inference service is one of the providers.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 21614,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://github.com/PrimeIntellect-ai/prime-agent#readme",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "rust",
        "mcp",
        "telemetry-default-on",
        "pre-1.0",
        "beta"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 352,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 79,
          "payments": 60,
          "reliability": 65,
          "schema": 42,
          "security": 50,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Budgets for turns, tokens and time bound an autonomous run, and sessions survive a closed terminal through a supervising daemon. Model-written Python and shell commands run with the user's rights, with no approval step and no sandbox, and the Rust build on the main branch ships only as nightly betas.",
        "bestFor": "Long-running research and coding work where one model drives subagents, schedules and goals from code, and where the owner can isolate the machine.",
        "strengths": [
          "MIT licence, with CI on main passing on 8 October 2026 (fmt, clippy with warnings as errors, sharded tests, cargo-deny)",
          "Three model tools (bash, edit, ipython). MCP tools are found and called from Python, so their definitions stay out of the prompt",
          "Autonomous mode takes limits on turns, tokens, time and continuations, plus user-defined quality gates with retries",
          "A daemon supervises one worker per session, restarts it with backoff and restores from append-only JSONL session files",
          "Telemetry is disclosed on first run, carries primitive values only and has four documented ways to turn it off"
        ],
        "weaknesses": [
          "No approval prompts and no sandbox. The README says the worker and kernel processes are not a security sandbox",
          "The stable channel (v0.9.8, 29 September 2026) is the TypeScript build. The Rust code on main ships only as nightly betas",
          "No documentation site for Prime Agent. Headless, JSON, RPC and ACP modes are described only in source and crate READMEs",
          "Usage telemetry is on by default, and the vendor privacy policy (updated 23 February 2024) does not describe it",
          "No SECURITY.md in the repository, and public issues and unsolicited pull requests are closed automatically"
        ],
        "agentNotes": [
          "Run it in a disposable clone, container or VM. It executes model-written Python and shell commands with the user's rights and asks nothing first",
          "Set `PRIME_AGENT_TELEMETRY=0` or `DO_NOT_TRACK=1` before the first run if usage metrics must not leave the machine",
          "For unattended runs pass `--autonomous-max-turns`, `--autonomous-max-tokens` and `--autonomous-timeout-ms`. Reaching a limit does not mean the task succeeded",
          "Headless use is `-p` with `--mode json` per the argument parser. A provider key must already be configured, because `/login` is interactive",
          "The `-t/--tools`, `-nt/--no-tools` and `-nbt/--no-builtin-tools` flags were removed and now fail as unknown options"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.5
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 79,
          "payments": 60,
          "reliability": 65,
          "schema": 42,
          "security": 50,
          "transparency": 67
        },
        "provenanceScore": 61
      },
      "connect": {
        "install": "curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/prime-agent"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Prime Intellect, Inc.",
        "domain": "primeintellect.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://www.primeintellect.ai/terms-of-service",
        "privacy": "https://www.primeintellect.ai/privacy-policy",
        "statusPage": "https://status.primeintellect.ai",
        "changelog": "https://github.com/PrimeIntellect-ai/prime-agent/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The site footer, terms and privacy policy name Prime Intellect, Inc. of Dover, Delaware. The repository LICENSE names Prime Intellect Ltd. as copyright holder.",
          "www.primeintellect.ai/.well-known/security.txt returned 404 on 8 October 2026. A security policy with a reporting address is at https://www.primeintellect.ai/security.",
          "The status page covers Prime Intellect's hosted platform (API, inference, sandboxes), not the locally run agent.",
          "The LICENSE adds that the software is a port of the Prime Agent TypeScript product, originally copyright 2025 Mario Zechner, used under the MIT licence. GitHub's licence detector reports the file as unrecognised."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/prime-agent.json",
      "live": {
        "slug": "prime-agent",
        "vendorStatus": {
          "page": "https://status.primeintellect.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:51:07.636221896Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "PrimeIntellect-ai/prime-agent",
            "version": "v0.9.8",
            "released": "2026-09-29",
            "seenAt": "2026-10-08T16:26:16.585379993Z"
          }
        ],
        "githubStars": 21619,
        "securityTxt": {
          "url": "https://primeintellect.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:02.360151245Z"
        },
        "pages": [
          {
            "url": "https://www.primeintellect.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:44.577158683Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e0d34066be9d"
          },
          {
            "url": "https://www.primeintellect.ai/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:46.778427712Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "501dbd1fa812"
          }
        ],
        "updatedAt": "2026-10-08T18:29:46.778427712Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Earendil",
        "b": "Prime Intellect",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "113k stars, 5.2M npm/wk",
        "b": "22k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Pi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Pi or Prime Agent?"
      },
      {
        "answer": "Yes. Pi is open source (MIT). Prime Agent is open source (MIT).",
        "question": "Are Pi and Prime Agent open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 65",
          "Schema \u0026 documentation, 84 against 42",
          "Security \u0026 auth, 61 against 50",
          "Maintenance \u0026 community, 87 against 79"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "earendil-pi",
        "watchFor": "No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Pi loses 4 points for them"
        ],
        "goodFor": "Long-running research and coding work where one model drives subagents, schedules and goals from code, and where the owner can isolate the machine.",
        "slug": "prime-agent",
        "watchFor": "No approval prompts and no sandbox. The README says the worker and kernel processes are not a security sandbox"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harness"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-earendil-pi.json",
        "title": "Aider vs Pi",
        "url": "https://www.anchorterminal.com/compare/aider-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-prime-agent.json",
        "title": "Aider vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/aider-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-earendil-pi.json",
        "title": "Amp vs Pi",
        "url": "https://www.anchorterminal.com/compare/amp-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-prime-agent.json",
        "title": "Amp vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/amp-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.json",
        "title": "Claude Code vs Pi",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-prime-agent.json",
        "title": "Claude Code vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi.json",
        "title": "Cline vs Pi",
        "url": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-prime-agent.json",
        "title": "Cline vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/cline-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.json",
        "title": "Cursor CLI vs Pi",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-prime-agent.json",
        "title": "Cursor CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-earendil-pi.json",
        "title": "Devin vs Pi",
        "url": "https://www.anchorterminal.com/compare/devin-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-prime-agent.json",
        "title": "Devin vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/devin-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli.json",
        "title": "Pi vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-github-copilot-cli.json",
        "title": "Pi vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-goose.json",
        "title": "Pi vs goose",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli.json",
        "title": "Pi vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.json",
        "title": "Pi vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.json",
        "title": "Pi vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.json",
        "title": "Pi vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.json",
        "title": "Pi vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent.json",
        "title": "Gemini CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-prime-agent.json",
        "title": "GitHub Copilot CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-prime-agent.json",
        "title": "goose vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/goose-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent.json",
        "title": "Kiro CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent.json",
        "title": "OpenAI Codex vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent.json",
        "title": "OpenCode vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent.json",
        "title": "OpenHands vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.json",
        "title": "Prime Agent vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-prime-agent.json",
        "title": "Paperclip vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-prime-agent"
      }
    ],
    "scores": [
      {
        "by": 10,
        "earendil-pi": 75,
        "edge": "earendil-pi",
        "key": "reliability",
        "name": "Reliability",
        "prime-agent": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "earendil-pi": 84,
        "edge": "earendil-pi",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "prime-agent": 42,
        "weight": 13
      },
      {
        "by": 3,
        "earendil-pi": 76,
        "edge": "earendil-pi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "prime-agent": 73,
        "weight": 13
      },
      {
        "by": 11,
        "earendil-pi": 61,
        "edge": "earendil-pi",
        "key": "security",
        "name": "Security \u0026 auth",
        "prime-agent": 50,
        "weight": 14
      },
      {
        "by": 0,
        "earendil-pi": 60,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "prime-agent": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "earendil-pi": 87,
        "edge": "earendil-pi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "prime-agent": 79,
        "weight": 7
      },
      {
        "by": 0,
        "earendil-pi": 64,
        "edge": "",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "prime-agent": 64,
        "weight": 7
      }
    ],
    "summary": "Pi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories. Both do agent harness.",
    "verdicts": {
      "earendil-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.",
      "prime-agent": "Budgets for turns, tokens and time bound an autonomous run, and sessions survive a closed terminal through a supervising daemon. Model-written Python and shell commands run with the user's rights, with no approval step and no sandbox, and the Rust build on the main branch ships only as nightly betas."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent",
    "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.md",
    "slim": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.min.md"
  },
  "markdown": "Pi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories. Both do agent harness.\n\n- Pi: grade B, 68.4/100, rank #170 of 629. Markdown https://www.anchorterminal.com/tools/earendil-pi.md · JSON https://www.anchorterminal.com/api/v1/tools/earendil-pi.json\n- Prime Agent: grade C, 60.5/100, rank #352 of 629. Markdown https://www.anchorterminal.com/tools/prime-agent.md · JSON https://www.anchorterminal.com/api/v1/tools/prime-agent.json\n\n## Which one, for what\n\n### Pi (B)\n\nGood 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.\n\nAhead on:\n- Reliability, 75 against 65\n- Schema \u0026 documentation, 84 against 42\n- Security \u0026 auth, 61 against 50\n- Maintenance \u0026 community, 87 against 79\n\nWatch for: No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt\n\n### Prime Agent (C)\n\nGood for: Long-running research and coding work where one model drives subagents, schedules and goals from code, and where the owner can isolate the machine.\n\nAlso in its favour:\n- No incidents deducted, where Pi loses 4 points for them\n\nWatch for: No approval prompts and no sandbox. The README says the worker and kernel processes are not a security sandbox\n\n\n## Score by category\n\n| Category | Weight | Pi | Prime Agent | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 65 | Pi +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 42 | Pi +42 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 73 | Pi +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 50 | Pi +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 79 | Pi +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 64 | even |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **68.4 · B** | **60.5 · C** | |\n\n## Facts side by side\n\n| Fact | Pi | Prime Agent |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Earendil | Prime Intellect |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-07 | 2026-10-07 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 113k stars, 5.2M npm/wk | 22k stars |\n\n## Verdicts\n\n**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.\n\n**Prime Agent.** Budgets for turns, tokens and time bound an autonomous run, and sessions survive a closed terminal through a supervising daemon. Model-written Python and shell commands run with the user's rights, with no approval step and no sandbox, and the Rust build on the main branch ships only as nightly betas.\n\n## Before you call either\n\n### Pi\n\n1. Run Pi inside a container or VM for unattended work. It has no sandbox and doesn't ask before running shell commands\n2. Use `pi --mode json` and wait for `agent_settled`. A failed response doesn't set a nonzero exit code in JSON mode\n3. Split the JSONL stream on LF only. Node's `readline` also splits on U+2028 and U+2029, which are valid inside JSON strings\n4. Pass `--no-approve` or `--approve` in scripts to make the project trust decision explicit\n5. Set `PI_TELEMETRY=0` and `PI_SKIP_VERSION_CHECK=1`, or `PI_OFFLINE=1`, to stop the default requests to pi.dev\n\n### Prime Agent\n\n1. Run it in a disposable clone, container or VM. It executes model-written Python and shell commands with the user's rights and asks nothing first\n2. Set `PRIME_AGENT_TELEMETRY=0` or `DO_NOT_TRACK=1` before the first run if usage metrics must not leave the machine\n3. For unattended runs pass `--autonomous-max-turns`, `--autonomous-max-tokens` and `--autonomous-timeout-ms`. Reaching a limit does not mean the task succeeded\n4. Headless use is `-p` with `--mode json` per the argument parser. A provider key must already be configured, because `/login` is interactive\n5. The `-t/--tools`, `-nt/--no-tools` and `-nbt/--no-builtin-tools` flags were removed and now fail as unknown options\n\n## Questions\n\n### Which is better for AI agents, Pi or Prime Agent?\n\nPi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories.\n\n### Are Pi and Prime Agent open source?\n\nYes. Pi is open source (MIT). Prime Agent is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.json, and with the fewest tokens: https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"earendil-pi\", \"b\": \"prime-agent\"}`. From a terminal: `anchor compare earendil-pi prime-agent`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/earendil-pi.json and https://www.anchorterminal.com/api/v1/tools/prime-agent.json\n\n## Other comparisons with Pi or Prime Agent\n\n- [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md)\n- [Aider vs Prime Agent](https://www.anchorterminal.com/compare/aider-vs-prime-agent.md)\n- [Amp vs Pi](https://www.anchorterminal.com/compare/amp-vs-earendil-pi.md)\n- [Amp vs Prime Agent](https://www.anchorterminal.com/compare/amp-vs-prime-agent.md)\n- [Claude Code vs Pi](https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.md)\n- [Claude Code vs Prime Agent](https://www.anchorterminal.com/compare/claude-code-vs-prime-agent.md)\n- [Cline vs Pi](https://www.anchorterminal.com/compare/cline-vs-earendil-pi.md)\n- [Cline vs Prime Agent](https://www.anchorterminal.com/compare/cline-vs-prime-agent.md)\n- [Cursor CLI vs Pi](https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.md)\n- [Cursor CLI vs Prime Agent](https://www.anchorterminal.com/compare/cursor-cli-vs-prime-agent.md)\n- [Devin vs Pi](https://www.anchorterminal.com/compare/devin-vs-earendil-pi.md)\n- [Devin vs Prime Agent](https://www.anchorterminal.com/compare/devin-vs-prime-agent.md)\n- [Pi vs Gemini CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli.md)\n- [Pi vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-github-copilot-cli.md)\n- [Pi vs goose](https://www.anchorterminal.com/compare/earendil-pi-vs-goose.md)\n- [Pi vs Kiro CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli.md)\n- [Pi vs OpenAI Codex](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Pi vs OpenHands](https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.md)\n- [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.md)\n- [Gemini CLI vs Prime Agent](https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent.md)\n- [GitHub Copilot CLI vs Prime Agent](https://www.anchorterminal.com/compare/github-copilot-cli-vs-prime-agent.md)\n- [goose vs Prime Agent](https://www.anchorterminal.com/compare/goose-vs-prime-agent.md)\n- [Kiro CLI vs Prime Agent](https://www.anchorterminal.com/compare/kiro-cli-vs-prime-agent.md)\n- [OpenAI Codex vs Prime Agent](https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent.md)\n- [OpenCode vs Prime Agent](https://www.anchorterminal.com/compare/opencode-vs-prime-agent.md)\n- [OpenHands vs Prime Agent](https://www.anchorterminal.com/compare/openhands-vs-prime-agent.md)\n- [Prime Agent vs Qwen Code](https://www.anchorterminal.com/compare/prime-agent-vs-qwen-code.md)\n- [Paperclip vs Prime Agent](https://www.anchorterminal.com/compare/paperclip-vs-prime-agent.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Pi vs Prime Agent",
        "url": ""
      }
    ],
    "description": "Pi scores 68.4 (B) on agent readiness against Prime Agent's 60.5 (C), and leads in 5 of 7 scored categories. Both do agent harness. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Pi B 68.4",
      "Prime Agent C 60.5",
      "scores"
    ],
    "h1": "Pi vs Prime Agent",
    "image": "https://www.anchorterminal.com/assets/og/compare-earendil-pi-vs-prime-agent.png",
    "path": "/compare/earendil-pi-vs-prime-agent",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pi vs Prime Agent for AI agents, B 68.4 vs C 60.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 580
  },
  "version": 1
}
