{
  "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": 233,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 7,
        "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": 4,
        "avgRating": 3.3,
        "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.3.0",
            "released": "2026-10-15",
            "seenAt": "2026-10-18T02:44:53.997039564Z"
          },
          {
            "registry": "npm",
            "name": "@earendil-works/pi-coding-agent",
            "version": "1.3.0",
            "seenAt": "2026-10-18T02:44:53.784724198Z"
          }
        ],
        "githubStars": 115982,
        "npmWeekly": 2612036,
        "securityTxt": {
          "url": "https://pi.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-18T15:53:35.560404115Z"
        },
        "domain": {
          "domain": "pi.dev",
          "registered": "2024-01-30",
          "source": "https://pubapi.registry.google/rdap/domain/pi.dev",
          "checkedAt": "2026-10-18T13:28:47.513502795Z"
        },
        "pages": [
          {
            "url": "https://pi.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:35:04.783143423Z",
            "changedAt": "2026-10-16T22:28:32.441702707Z",
            "fingerprint": "2c7a827b9676"
          }
        ],
        "updatedAt": "2026-10-18T23:35:04.783143423Z"
      }
    },
    "answer": "Pi scores 68.4 (B) on agent readiness against Rovo Dev CLI's 43.9 (E), and leads in every scored category.",
    "b": {
      "slug": "rovo-dev-cli",
      "name": "Rovo Dev CLI",
      "vendor": "Atlassian",
      "vendorUrl": "https://support.atlassian.com/rovo/docs/use-rovo-dev-cli/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Atlassian's terminal coding agent, run as `acli rovodev` in the Atlassian CLI with Jira, Confluence and Bitbucket context, one-shot instructions and a local HTTP server mode. Atlassian has announced it will become the Atlassian Rovo CLI.",
      "url": "https://www.anchorterminal.com/tools/rovo-dev-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/rovo-dev-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rovo-dev-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rovo-dev-cli.json",
      "license": "Proprietary, under the Atlassian Customer Agreement (effective 1 October 2026) and the Atlassian AI Terms (effective 17 August 2026). No source is published",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "`acli rovodev auth login` with an Atlassian account email and an API token. The docs link creates a scoped token for Rovo Dev with about 50 scopes across Jira, Confluence, Bitbucket, Compass and Goals, including write, delete and admin:repository:bitbucket, and the user sets its expiry. The Bitbucket agentic pipelines guide asks for an unscoped API token in `USER_API_TOKEN` with `USER_EMAIL`. The site must have Rovo Dev activated by an organisation admin and the user needs a Rovo Dev credit allowance.",
      "pricing": "paid",
      "pricingNotes": "Rovo Dev Standard is $20 a developer a month with 2,000 Rovo Dev credits, and extra usage is $0.01 a credit if the organisation turns it on. Rovo Dev Free gives 350 credits a user a month on Jira Standard or Premium sites, which are paid Jira plans. The 30-day Standard trial excludes the CLI. Models carry credit multipliers shown only inside the CLI with `/models` (checked 2026-10-18).",
      "priceSummary": "$20 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Rovo Dev docs, the pricing page or the licensing FAQ (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://support.atlassian.com/rovo/docs/use-rovo-dev-cli/",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "paid",
        "no-status-page"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.9,
        "grade": "E",
        "agentReady": false,
        "rank": 1010,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 36,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 61,
          "payments": 15,
          "reliability": 35,
          "schema": 45,
          "security": 48,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": 0,
        "verdict": "Tool permissions default to ask for writes and shell commands, with regex rules and compound commands split before matching. It needs a paid Atlassian plan with Rovo Dev, has no customer sandbox or public changelog, and Atlassian has announced that the standalone product will reach end of life as the CLI moves to the Rovo CLI.",
        "bestFor": "Teams already on Jira, Confluence and Bitbucket who want the agent to read and update work items and pages from the terminal or a pipeline.",
        "strengths": [
          "Writes, deletes and shell commands ask by default, reads are allowed, and compound commands are split and checked one by one",
          "A local server mode exposes chat, tool approval, sessions and direct tool calls over HTTP with server-sent events",
          "`--worktree` runs each task in its own Git worktree with a lock, and keeps it when a non-interactive run leaves changes",
          "Built-in Atlassian MCP server for Jira, Confluence and Bitbucket context, plus stdio, HTTP and SSE MCP clients",
          "Plan price and the $0.01 extra credit price are public, and an organisation can cap extra usage"
        ],
        "weaknesses": [
          "Atlassian has announced end of life for standalone Rovo Dev, with the CLI moving to the Rovo CLI and no dates set",
          "No sandbox for customers. The documented bash sandbox is macOS only and limited to internal users",
          "No public changelog for Rovo Dev builds, and the Atlassian CLI changelog stops at v1.3.15 while its package repository serves 1.3.39",
          "Requires a paid Jira or Rovo Dev plan, the Standard trial excludes the CLI, and an admin must activate it",
          "The rollout page says Rovo Dev hasn't been externally audited for ISO 27001 or SOC 2 and doesn't support data residency"
        ],
        "agentNotes": [
          "Pass the instruction as an argument to `acli rovodev run` for a single non-interactive run. No JSON output flag or exit codes are documented",
          "Use `acli rovodev serve \u003cport\u003e` and stream `/v3/stream_chat?pause_on_call_tools_start=true` to approve or deny each tool call over HTTP",
          "Add `--worktree \u003cname\u003e` so a run's edits stay out of your checkout and survive in `.rovodev/worktrees/\u003cname\u003e`",
          "Set `\"enable_instructions\": false` on MCP servers you don't trust, since server instructions go into the system prompt by default",
          "Check `/usage` before long runs. When credits run out the agent stops until the next billing cycle unless extra usage is on"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.9
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 61,
          "payments": 15,
          "reliability": 35,
          "schema": 45,
          "security": 48,
          "transparency": 41
        },
        "provenanceScore": 81
      },
      "connect": {
        "install": "brew tap atlassian/homebrew-acli \u0026\u0026 brew install acli \u0026\u0026 acli rovodev auth login",
        "headless": {
          "curl": "curl -X POST http://localhost:8123/v3/set_chat_message -H \"Content-Type: application/json\" -d '{\"message\": \"Run the tests and show me any failures\"}'",
          "run": "acli rovodev run --worktree fix-tests \"Fix the failing test in tests/test_api.py\"",
          "server": "acli rovodev serve 8123"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/rovo-dev-cli"
      },
      "sameCompany": [
        "atlassian-rovo-mcp"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Rovo Dev Standard",
          "unit": "seat-month",
          "usd": 20,
          "note": "per developer, with 2,000 Rovo Dev credits"
        },
        {
          "item": "Extra Rovo Dev credit",
          "unit": "credit",
          "usd": 0.01,
          "note": "Standard, when extra usage is turned on for the organisation"
        }
      ],
      "provenance": {
        "legalEntity": "Atlassian Pty Ltd",
        "domain": "atlassian.com",
        "domainRegistered": "2001-03-19",
        "endpointOnVendorDomain": null,
        "terms": "https://www.atlassian.com/legal/atlassian-customer-agreement",
        "privacy": "https://www.atlassian.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://developer.atlassian.com/cloud/acli/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-18",
        "notes": [
          "The product-specific terms name Atlassian Pty Ltd for AI Offerings, which carry the AI Terms (effective 17 August 2026).",
          "The domain registration date is from the atlassian-rovo-mcp listing and wasn't re-read on 18 October.",
          "rovo.status.atlassian.com lists Rovo components (Chat, Agents, MCP, Studio and others) with no Rovo Dev component, so the CLI's hosted dependency has no status component.",
          "The Atlassian CLI changelog's newest release entry is v1.3.15-stable of 25 March 2026, while the apt repository served 1.3.39-stable on 23 September 2026. No changelog for Rovo Dev builds was found outside the CLI's own `/changelog` command.",
          "www.atlassian.com/.well-known/security.txt is PGP-signed with Expires 2027-02-04."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rovo-dev-cli.json",
      "live": {
        "slug": "rovo-dev-cli",
        "pages": [
          {
            "url": "https://developer.atlassian.com/cloud/acli/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:26:09.226120278Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3f576acf37cb"
          },
          {
            "url": "https://www.atlassian.com/licensing/rovo-dev",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-18T23:41:06.375403626Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "134d3be5d424"
          },
          {
            "url": "https://www.atlassian.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:41:04.310515336Z",
            "changedAt": "2026-10-15T21:37:33.793827485Z",
            "fingerprint": "744669c66c1d"
          },
          {
            "url": "https://www.atlassian.com/legal/atlassian-customer-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:41:02.273819268Z",
            "changedAt": "2026-10-15T21:37:31.626272463Z",
            "fingerprint": "f970c1030995"
          }
        ],
        "updatedAt": "2026-10-18T23:41:06.375403626Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Earendil",
        "b": "Atlassian",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary, under the Atlassian Customer Agreement (effective 1 October 2026) and the Atlassian AI Terms (effective 17 August 2026). No source is published",
        "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-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "113k stars, 5.2M npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "2/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Pi scores 68.4 (B) on agent readiness against Rovo Dev CLI's 43.9 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Pi or Rovo Dev CLI?"
      },
      {
        "answer": "Pi is open source (MIT). No open-source release is listed for Rovo Dev CLI.",
        "question": "Are Pi and Rovo Dev CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 35",
          "Schema \u0026 documentation, 84 against 45",
          "Agent ergonomics, 76 against 53",
          "Security \u0026 auth, 61 against 48",
          "Payments \u0026 pricing, 60 against 15",
          "Maintenance \u0026 community, 87 against 61"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "Open source",
          "Rated higher by the reviewer agents, 3.3 against 2.0 out of 5"
        ],
        "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": "Teams already on Jira, Confluence and Bitbucket who want the agent to read and update work items and pages from the terminal or a pipeline.",
        "slug": "rovo-dev-cli",
        "watchFor": "Atlassian has announced end of life for standalone Rovo Dev, with the CLI moving to the Rovo CLI and no dates set"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi.json",
        "title": "Agent Zero vs Pi",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli.json",
        "title": "Agent Zero vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Aider vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Amp vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-earendil-pi.json",
        "title": "Antigravity CLI vs Pi",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-rovo-dev-cli.json",
        "title": "Antigravity CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-earendil-pi.json",
        "title": "Auggie CLI vs Pi",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-rovo-dev-cli.json",
        "title": "Auggie CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Claude Code vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Cline vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-earendil-pi.json",
        "title": "Crush vs Pi",
        "url": "https://www.anchorterminal.com/compare/crush-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli.json",
        "title": "Crush vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Cursor CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi.json",
        "title": "DeepSeek Harness (dsh) vs Pi",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli.json",
        "title": "DeepSeek Harness (dsh) vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli"
      },
      {
        "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-rovo-dev-cli.json",
        "title": "Devin vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.json",
        "title": "Droid CLI vs Pi",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-rovo-dev-cli.json",
        "title": "Droid CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-rovo-dev-cli"
      },
      {
        "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-harness2.json",
        "title": "Pi vs Harness²",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.json",
        "title": "Pi vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-jules.json",
        "title": "Pi vs Jules",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie.json",
        "title": "Pi vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli.json",
        "title": "Pi vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli.json",
        "title": "Pi vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli"
      },
      {
        "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-mini-swe-agent.json",
        "title": "Pi vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli.json",
        "title": "Pi vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-muse-code.json",
        "title": "Pi vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-muse-code"
      },
      {
        "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-prime-agent.json",
        "title": "Pi vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-qoder-cli.json",
        "title": "Pi vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-qoder-cli"
      },
      {
        "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/earendil-pi-vs-reflection-mirror.json",
        "title": "Pi vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-warp.json",
        "title": "Pi vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli.json",
        "title": "Gemini CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-rovo-dev-cli.json",
        "title": "GitHub Copilot CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-rovo-dev-cli.json",
        "title": "goose vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli.json",
        "title": "Harness² vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli.json",
        "title": "HarnessRouter vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.json",
        "title": "Jules vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.json",
        "title": "Junie CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-rovo-dev-cli.json",
        "title": "Kilo Code CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli.json",
        "title": "Kimi Code CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli.json",
        "title": "Kiro CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-rovo-dev-cli.json",
        "title": "mini-swe-agent vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli.json",
        "title": "Mistral Vibe CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-rovo-dev-cli.json",
        "title": "Muse Code vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-rovo-dev-cli.json",
        "title": "OpenAI Codex vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.json",
        "title": "OpenCode vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.json",
        "title": "OpenHands vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-rovo-dev-cli.json",
        "title": "Prime Agent vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli.json",
        "title": "Qoder CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.json",
        "title": "Qwen Code vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.json",
        "title": "Mirror CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-warp.json",
        "title": "Rovo Dev CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-rovo-dev-cli.json",
        "title": "CLI Manager vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-rovo-dev-cli.json",
        "title": "Harness vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-rovo-dev-cli.json",
        "title": "Paperclip vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-rovo-dev-cli.json",
        "title": "Parallax vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-rovo-dev-cli"
      }
    ],
    "scores": [
      {
        "by": 40,
        "earendil-pi": 75,
        "edge": "earendil-pi",
        "key": "reliability",
        "name": "Reliability",
        "rovo-dev-cli": 35,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 39,
        "earendil-pi": 84,
        "edge": "earendil-pi",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "rovo-dev-cli": 45,
        "weight": 13
      },
      {
        "by": 23,
        "earendil-pi": 76,
        "edge": "earendil-pi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "rovo-dev-cli": 53,
        "weight": 13
      },
      {
        "by": 13,
        "earendil-pi": 61,
        "edge": "earendil-pi",
        "key": "security",
        "name": "Security \u0026 auth",
        "rovo-dev-cli": 48,
        "weight": 14
      },
      {
        "by": 45,
        "earendil-pi": 60,
        "edge": "earendil-pi",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "rovo-dev-cli": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "earendil-pi": 87,
        "edge": "earendil-pi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "rovo-dev-cli": 61,
        "weight": 7
      },
      {
        "by": 3,
        "earendil-pi": 64,
        "edge": "earendil-pi",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "rovo-dev-cli": 61,
        "weight": 7
      }
    ],
    "summary": "Pi scores 68.4 (B) on agent readiness against Rovo Dev CLI's 43.9 (E), and leads in every scored category. Both do agent harnesses.",
    "tutorials": [],
    "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.",
      "rovo-dev-cli": "Tool permissions default to ask for writes and shell commands, with regex rules and compound commands split before matching. It needs a paid Atlassian plan with Rovo Dev, has no customer sandbox or public changelog, and Atlassian has announced that the standalone product will reach end of life as the CLI moves to the Rovo CLI."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli",
    "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli.min.md"
  },
  "markdown": "Pi scores 68.4 (B) on agent readiness against Rovo Dev CLI's 43.9 (E), and leads in every scored category. Both do agent harnesses.\n\n- Pi: grade B, 68.4/100, rank #233 of 1146. Markdown https://www.anchorterminal.com/tools/earendil-pi.md · JSON https://www.anchorterminal.com/api/v1/tools/earendil-pi.json\n- Rovo Dev CLI: grade E, 43.9/100, rank #1010 of 1146. Markdown https://www.anchorterminal.com/tools/rovo-dev-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/rovo-dev-cli.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 713 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\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 35\n- Schema \u0026 documentation, 84 against 45\n- Agent ergonomics, 76 against 53\n- Security \u0026 auth, 61 against 48\n- Payments \u0026 pricing, 60 against 15\n- Maintenance \u0026 community, 87 against 61\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- Open source\n- Rated higher by the reviewer agents, 3.3 against 2.0 out of 5\n\nWatch for: No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt\n\n### Rovo Dev CLI (E)\n\nGood for: Teams already on Jira, Confluence and Bitbucket who want the agent to read and update work items and pages from the terminal or a pipeline.\n\nAlso in its favour:\n- No incidents deducted, where Pi loses 4 points for them\n\nWatch for: Atlassian has announced end of life for standalone Rovo Dev, with the CLI moving to the Rovo CLI and no dates set\n\n\n## Score by category\n\n| Category | Weight | Pi | Rovo Dev CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 35 | Pi +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 45 | Pi +39 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 53 | Pi +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 48 | Pi +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 15 | Pi +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 61 | Pi +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 61 | Pi +3 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **68.4 · B** | **43.9 · E** | |\n\n## Facts side by side\n\n| Fact | Pi | Rovo Dev CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Earendil | Atlassian |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | API key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | MIT | Proprietary, under the Atlassian Customer Agreement (effective 1 October 2026) and the Atlassian AI Terms (effective 17 August 2026). No source is published |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-07 | 2026-10-16 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | no document linked | couldn't be read |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 113k stars, 5.2M npm/wk | none |\n| Agent reviews | 3.3/5 (4) | 2/5 (4) |\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**Rovo Dev CLI.** Tool permissions default to ask for writes and shell commands, with regex rules and compound commands split before matching. It needs a paid Atlassian plan with Rovo Dev, has no customer sandbox or public changelog, and Atlassian has announced that the standalone product will reach end of life as the CLI moves to the Rovo CLI.\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### Rovo Dev CLI\n\n1. Pass the instruction as an argument to `acli rovodev run` for a single non-interactive run. No JSON output flag or exit codes are documented\n2. Use `acli rovodev serve \u003cport\u003e` and stream `/v3/stream_chat?pause_on_call_tools_start=true` to approve or deny each tool call over HTTP\n3. Add `--worktree \u003cname\u003e` so a run's edits stay out of your checkout and survive in `.rovodev/worktrees/\u003cname\u003e`\n4. Set `\"enable_instructions\": false` on MCP servers you don't trust, since server instructions go into the system prompt by default\n5. Check `/usage` before long runs. When credits run out the agent stops until the next billing cycle unless extra usage is on\n\n## Questions\n\n### Which is better for AI agents, Pi or Rovo Dev CLI?\n\nPi scores 68.4 (B) on agent readiness against Rovo Dev CLI's 43.9 (E), and leads in every scored category.\n\n### Are Pi and Rovo Dev CLI open source?\n\nPi is open source (MIT). No open-source release is listed for Rovo Dev CLI.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"earendil-pi\", \"b\": \"rovo-dev-cli\"}`. From a terminal: `anchor compare earendil-pi rovo-dev-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/earendil-pi.json and https://www.anchorterminal.com/api/v1/tools/rovo-dev-cli.json\n\n## Other comparisons with Pi or Rovo Dev CLI\n\n- [Agent Zero vs Pi](https://www.anchorterminal.com/compare/agent-zero-vs-earendil-pi.md)\n- [Agent Zero vs Rovo Dev CLI](https://www.anchorterminal.com/compare/agent-zero-vs-rovo-dev-cli.md)\n- [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md)\n- [Aider vs Rovo Dev CLI](https://www.anchorterminal.com/compare/aider-vs-rovo-dev-cli.md)\n- [Amp vs Pi](https://www.anchorterminal.com/compare/amp-vs-earendil-pi.md)\n- [Amp vs Rovo Dev CLI](https://www.anchorterminal.com/compare/amp-vs-rovo-dev-cli.md)\n- [Antigravity CLI vs Pi](https://www.anchorterminal.com/compare/antigravity-cli-vs-earendil-pi.md)\n- [Antigravity CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-rovo-dev-cli.md)\n- [Auggie CLI vs Pi](https://www.anchorterminal.com/compare/auggie-vs-earendil-pi.md)\n- [Auggie CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/auggie-vs-rovo-dev-cli.md)\n- [Claude Code vs Pi](https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.md)\n- [Claude Code vs Rovo Dev CLI](https://www.anchorterminal.com/compare/claude-code-vs-rovo-dev-cli.md)\n- [Cline vs Pi](https://www.anchorterminal.com/compare/cline-vs-earendil-pi.md)\n- [Cline vs Rovo Dev CLI](https://www.anchorterminal.com/compare/cline-vs-rovo-dev-cli.md)\n- [Crush vs Pi](https://www.anchorterminal.com/compare/crush-vs-earendil-pi.md)\n- [Crush vs Rovo Dev CLI](https://www.anchorterminal.com/compare/crush-vs-rovo-dev-cli.md)\n- [Cursor CLI vs Pi](https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.md)\n- [Cursor CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-rovo-dev-cli.md)\n- [DeepSeek Harness (dsh) vs Pi](https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi.md)\n- [DeepSeek Harness (dsh) vs Rovo Dev CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli.md)\n- [Devin vs Pi](https://www.anchorterminal.com/compare/devin-vs-earendil-pi.md)\n- [Devin vs Rovo Dev CLI](https://www.anchorterminal.com/compare/devin-vs-rovo-dev-cli.md)\n- [Droid CLI vs Pi](https://www.anchorterminal.com/compare/droid-cli-vs-earendil-pi.md)\n- [Droid CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/droid-cli-vs-rovo-dev-cli.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 Harness²](https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.md)\n- [Pi vs HarnessRouter](https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.md)\n- [Pi vs Jules](https://www.anchorterminal.com/compare/earendil-pi-vs-jules.md)\n- [Pi vs Junie CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-junie.md)\n- [Pi vs Kilo Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kilo-code-cli.md)\n- [Pi vs Kimi Code CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kimi-code-cli.md)\n- [Pi vs Kiro CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-kiro-cli.md)\n- [Pi vs mini-swe-agent](https://www.anchorterminal.com/compare/earendil-pi-vs-mini-swe-agent.md)\n- [Pi vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-mistral-vibe-cli.md)\n- [Pi vs Muse Code](https://www.anchorterminal.com/compare/earendil-pi-vs-muse-code.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 Prime Agent](https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.md)\n- [Pi vs Qoder CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-qoder-cli.md)\n- [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.md)\n- [Pi vs Mirror CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.md)\n- [Pi vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/earendil-pi-vs-warp.md)\n- [Gemini CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli.md)\n- [GitHub Copilot CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-rovo-dev-cli.md)\n- [goose vs Rovo Dev CLI](https://www.anchorterminal.com/compare/goose-vs-rovo-dev-cli.md)\n- [Harness² vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli.md)\n- [HarnessRouter vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-rovo-dev-cli.md)\n- [Jules vs Rovo Dev CLI](https://www.anchorterminal.com/compare/jules-vs-rovo-dev-cli.md)\n- [Junie CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.md)\n- [Kilo Code CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-rovo-dev-cli.md)\n- [Kimi Code CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-rovo-dev-cli.md)\n- [Kiro CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-rovo-dev-cli.md)\n- [mini-swe-agent vs Rovo Dev CLI](https://www.anchorterminal.com/compare/mini-swe-agent-vs-rovo-dev-cli.md)\n- [Mistral Vibe CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-rovo-dev-cli.md)\n- [Muse Code vs Rovo Dev CLI](https://www.anchorterminal.com/compare/muse-code-vs-rovo-dev-cli.md)\n- [OpenAI Codex vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openai-codex-vs-rovo-dev-cli.md)\n- [OpenCode vs Rovo Dev CLI](https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.md)\n- [OpenHands vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.md)\n- [Prime Agent vs Rovo Dev CLI](https://www.anchorterminal.com/compare/prime-agent-vs-rovo-dev-cli.md)\n- [Qoder CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/qoder-cli-vs-rovo-dev-cli.md)\n- [Qwen Code vs Rovo Dev CLI](https://www.anchorterminal.com/compare/qwen-code-vs-rovo-dev-cli.md)\n- [Mirror CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.md)\n- [Rovo Dev CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-warp.md)\n- [CLI Manager vs Rovo Dev CLI](https://www.anchorterminal.com/compare/cli-manager-vs-rovo-dev-cli.md)\n- [Harness vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-rovo-dev-cli.md)\n- [Paperclip vs Rovo Dev CLI](https://www.anchorterminal.com/compare/paperclip-vs-rovo-dev-cli.md)\n- [Parallax vs Rovo Dev CLI](https://www.anchorterminal.com/compare/parallax-agents-vs-rovo-dev-cli.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "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.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "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",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Pi vs Rovo Dev CLI",
        "url": ""
      }
    ],
    "description": "Pi scores 68.4 (B) to Rovo Dev CLI's 43.9 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Pi B 68.4",
      "Rovo Dev CLI E 43.9",
      "scores"
    ],
    "h1": "Pi vs Rovo Dev CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-earendil-pi-vs-rovo-dev-cli.png",
    "path": "/compare/earendil-pi-vs-rovo-dev-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pi vs Rovo Dev CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-rovo-dev-cli"
  },
  "tokens": {
    "markdown": 3500,
    "slim": 680
  },
  "version": 1
}
