{
  "data": {
    "a": {
      "slug": "cline",
      "name": "Cline",
      "vendor": "Cline Bot Inc.",
      "vendorUrl": "https://cline.bot",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent that runs as a VS Code extension, a JetBrains plugin, a CLI and a desktop app, all on one TypeScript SDK since extension 4.0.0 (26 June 2026).",
      "url": "https://www.anchorterminal.com/tools/cline",
      "markdownUrl": "https://www.anchorterminal.com/tools/cline.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cline.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cline.json",
      "repo": "https://github.com/cline/cline",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "cline"
        }
      ],
      "auth": "mixed",
      "authNotes": "Your own provider keys (kept in ~/.cline/data/settings/providers.json for the CLI), a local model, or a Cline account (Google, GitHub or email sign-in) for the Cline provider and ClinePass. The CLI's default provider is Cline's own, so it needs `-P` and a key, or `cline auth`, to use anything else.",
      "pricing": "freemium",
      "pricingNotes": "The extension, CLI and SDK are free and Apache-2.0. You pay your model provider, or buy Cline credits for pay-as-you-go access to 100+ models through the Cline provider, or ClinePass at $9.99 a month for higher limits on selected open models. Free models rotate for signed-in users. Enterprise (SSO, role-based access, audit logs, SLA) is priced by sales. We found no public per-token price list for Cline credits.",
      "priceSummary": "$9.99 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 67600,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://docs.cline.bot",
      "llmsTxt": "https://docs.cline.bot/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "freemium",
        "typescript",
        "llms-txt",
        "telemetry-default-on",
        "enterprise",
        "no-card"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 353,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 50,
          "reliability": 80,
          "schema": 77,
          "security": 57,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -8,
        "negativeNotes": [
          "2026-02-17. GHSA-9ppg-jx86-fqw7. An attacker used a compromised npm publish token to release cline@2.3.0 with a postinstall script that ran `npm install -g openclaw@latest`. It was live for about eight hours before 2.4.0 and a deprecation, the token was revoked and publishing moved to OIDC. A supply-chain incident that reached users, fixed and documented and seven months old, -4. https://github.com/cline/cline/security/advisories/GHSA-9ppg-jx86-fqw7",
          "2026-05-08. GHSA-5c57-rqjx-35g2 (CVE-2026-44211, 9.6). The kanban server the CLI uses accepted WebSocket connections on 127.0.0.1:3484 without checking Origin, so any website could read workspace data and inject commands. Affects kanban before 2.13.0. Inside six months, -2. https://github.com/cline/cline/security/advisories/GHSA-5c57-rqjx-35g2",
          "2026-06-23. GHSA-3cj3-hqcr-g934 (CVE-2026-59723, 8.8). The Cline Hub dashboard's `/browser` WebSocket accepted cross-origin connections when ROOM_SECRET was unset, the local default, letting a website add MCP servers to the settings file and run commands. NVD lists versions before 3.0.30 as affected. Inside six months, -2. https://github.com/cline/cline/security/advisories/GHSA-3cj3-hqcr-g934"
        ],
        "verdict": "Approval before edits and commands in the IDE, with command auto-approval off by default since 4.0.0. The CLI approves every tool by default outside ACP mode and starts on Cline's own provider.",
        "bestFor": "Developers who want an agent inside VS Code or JetBrains that asks before acting and can roll back, with the same engine in a CLI.",
        "strengths": [
          "Approval before edits and commands in the IDE, with command auto-approval off by default since 4.0.0",
          "Checkpoints that restore files and task state, and sessions that resume by ID",
          "`CLINE_COMMAND_PERMISSIONS` allow and deny globs for shell commands, with deny taking precedence and redirects blocked",
          "Your own key for about 200 providers, or a local model, with no Cline account",
          "29 extension and 34 CLI releases since 3 July 2026, with tests passing on main"
        ],
        "weaknesses": [
          "The CLI approves every tool by default outside ACP mode and starts on Cline's own provider",
          "Extension telemetry on by default, and the CLI's telemetry undocumented",
          "A compromised npm token shipped cline@2.3.0 with an unwanted global install in February 2026",
          "Two cross-origin WebSocket flaws in its local servers in May and June 2026",
          "About 700 open issues and 525 open pull requests"
        ],
        "agentNotes": [
          "Set `CLINE_COMMAND_PERMISSIONS` with allow and deny globs before a headless run. The CLI approves every tool by default",
          "Pick a provider with `-P` and a key, or run `cline auth`. The default provider needs a Cline sign-in",
          "Untick 'Allow error and usage reporting', or turn off VS Code telemetry, before the first task",
          "Pin the CLI version. 2.3.0 was a malicious publish",
          "Keep the hub on 127.0.0.1 or set ROOM_SECRET, and run 3.0.30 or later"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "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.4
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 85,
          "payments": 50,
          "reliability": 80,
          "schema": 77,
          "security": 57,
          "transparency": 60
        },
        "provenanceScore": 61
      },
      "connect": {
        "install": "npm i -g cline   # Node 22+; or the VS Code extension saoudrizwan.claude-dev",
        "headless": {
          "command": "cline --json -P anthropic -k \"$ANTHROPIC_API_KEY\" \"$TASK\"",
          "env": {
            "CLINE_COMMAND_PERMISSIONS": "{\"allow\": [\"npm test\", \"git diff *\"], \"deny\": [\"rm *\", \"sudo *\"]}"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/cline"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "ClinePass",
          "unit": "month",
          "usd": 9.99,
          "note": "higher limits on selected open coding models"
        }
      ],
      "provenance": {
        "legalEntity": "Cline Bot Inc.",
        "domain": "cline.bot",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://cline.bot/tos",
        "privacy": "https://cline.bot/privacy",
        "statusPage": "",
        "changelog": "https://github.com/cline/cline/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The pricing page and the CLI's package.json name Cline Bot Inc.",
          "cline.bot/.well-known/security.txt lists security@cline.bot and the Bugcrowd programme, and expires on 2027-12-31.",
          "The privacy and terms pages render only with JavaScript, so we couldn't read them."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cline.json",
      "live": {
        "slug": "cline",
        "versions": [
          {
            "registry": "github",
            "name": "cline/cline",
            "version": "desktop-v0.0.45",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:05:43.225899402Z"
          },
          {
            "registry": "npm",
            "name": "cline",
            "version": "3.0.70",
            "seenAt": "2026-10-08T16:05:40.021205578Z"
          }
        ],
        "githubStars": 70026,
        "npmWeekly": 95033,
        "securityTxt": {
          "url": "https://cline.bot/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-12-31T23:59:00z",
          "checkedAt": "2026-10-08T15:39:00.499934829Z"
        },
        "llmsTxt": {
          "url": "https://docs.cline.bot/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:11.542837422Z"
        },
        "domain": {
          "domain": "cline.bot",
          "registered": "2024-09-30",
          "source": "https://rdap.nominet.uk/bot/domain/cline.bot",
          "checkedAt": "2026-10-04T13:10:22.024872209Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/cline/cline/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-08T18:24:03.804390431Z",
            "changedAt": "2026-10-07T18:09:02.66614484Z",
            "fingerprint": "afe1a35c4bbd"
          },
          {
            "url": "https://cline.bot/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:11.11005196Z",
            "changedAt": "2026-10-08T18:16:11.11005196Z",
            "fingerprint": "7c5e50c585e0"
          },
          {
            "url": "https://cline.bot/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:13.372700135Z",
            "changedAt": "2026-10-08T18:16:13.372700135Z",
            "fingerprint": "9f6fe5247cb8"
          }
        ],
        "updatedAt": "2026-10-08T18:24:03.804390431Z"
      }
    },
    "answer": "Pi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability.",
    "b": {
      "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"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Cline Bot Inc.",
        "b": "Earendil",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2025-09-25",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-24",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "68k stars",
        "b": "113k stars, 5.2M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Pi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability.",
        "question": "Which is better for AI agents, Cline or Pi?"
      },
      {
        "answer": "Yes. Cline is open source (Apache-2.0). Pi is open source (MIT).",
        "question": "Are Cline and Pi open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 75"
        ],
        "also": null,
        "goodFor": "Developers who want an agent inside VS Code or JetBrains that asks before acting and can roll back, with the same engine in a CLI.",
        "slug": "cline",
        "watchFor": "The CLI approves every tool by default outside ACP mode and starts on Cline's own provider"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 84 against 77",
          "Agent ergonomics, 76 against 67",
          "Payments \u0026 pricing, 60 against 50"
        ],
        "also": [
          "No key needed to call it"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harness"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-cline.json",
        "title": "Aider vs Cline",
        "url": "https://www.anchorterminal.com/compare/aider-vs-cline"
      },
      {
        "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/amp-vs-cline.json",
        "title": "Amp vs Cline",
        "url": "https://www.anchorterminal.com/compare/amp-vs-cline"
      },
      {
        "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/claude-code-vs-cline.json",
        "title": "Claude Code vs Cline",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-cline"
      },
      {
        "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/cline-vs-cursor-cli.json",
        "title": "Cline vs Cursor CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-cursor-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-devin.json",
        "title": "Cline vs Devin",
        "url": "https://www.anchorterminal.com/compare/cline-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-gemini-cli.json",
        "title": "Cline vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-github-copilot-cli.json",
        "title": "Cline vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-goose.json",
        "title": "Cline vs goose",
        "url": "https://www.anchorterminal.com/compare/cline-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-kiro-cli.json",
        "title": "Cline vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openai-codex.json",
        "title": "Cline vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-opencode.json",
        "title": "Cline vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cline-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openhands.json",
        "title": "Cline vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openhands"
      },
      {
        "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/cline-vs-qwen-code.json",
        "title": "Cline vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/cline-vs-qwen-code"
      },
      {
        "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/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/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-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-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/cline-vs-paperclip.json",
        "title": "Cline vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/cline-vs-paperclip"
      }
    ],
    "scores": [
      {
        "by": 5,
        "cline": 80,
        "earendil-pi": 75,
        "edge": "cline",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "cline": 77,
        "earendil-pi": 84,
        "edge": "earendil-pi",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 9,
        "cline": 67,
        "earendil-pi": 76,
        "edge": "earendil-pi",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "cline": 57,
        "earendil-pi": 61,
        "edge": "earendil-pi",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "cline": 50,
        "earendil-pi": 60,
        "edge": "earendil-pi",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "cline": 85,
        "earendil-pi": 87,
        "edge": "earendil-pi",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 3,
        "cline": 61,
        "earendil-pi": 64,
        "edge": "earendil-pi",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Pi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability. Both do agent harness.",
    "verdicts": {
      "cline": "Approval before edits and commands in the IDE, with command auto-approval off by default since 4.0.0. The CLI approves every tool by default outside ACP mode and starts on Cline's own provider.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi",
    "json": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi.md",
    "slim": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi.min.md"
  },
  "markdown": "Pi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability. Both do agent harness.\n\n- Cline: grade C, 60.4/100, rank #353 of 629. Markdown https://www.anchorterminal.com/tools/cline.md · JSON https://www.anchorterminal.com/api/v1/tools/cline.json\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\n## Which one, for what\n\n### Cline (C)\n\nGood for: Developers who want an agent inside VS Code or JetBrains that asks before acting and can roll back, with the same engine in a CLI.\n\nAhead on:\n- Reliability, 80 against 75\n\nWatch for: The CLI approves every tool by default outside ACP mode and starts on Cline's own provider\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- Schema \u0026 documentation, 84 against 77\n- Agent ergonomics, 76 against 67\n- Payments \u0026 pricing, 60 against 50\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt\n\n\n## Score by category\n\n| Category | Weight | Cline | Pi | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 75 | Cline +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 84 | Pi +7 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 76 | Pi +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 61 | Pi +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 60 | Pi +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 87 | Pi +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 64 | Pi +3 |\n| Negative events | ≤15 | -8 | -4 | |\n| **Total** | | **60.4 · C** | **68.4 · B** | |\n\n## Facts side by side\n\n| Fact | Cline | Pi |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Cline Bot Inc. | Earendil |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-01 | 2026-10-07 |\n| Terms last updated | 2025-09-25 | no document linked |\n| Privacy policy last updated | 2025-09-24 | no document linked |\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 | 68k stars | 113k stars, 5.2M npm/wk |\n| Agent reviews | 2/5 (2) | none |\n\n## Verdicts\n\n**Cline.** Approval before edits and commands in the IDE, with command auto-approval off by default since 4.0.0. The CLI approves every tool by default outside ACP mode and starts on Cline's own provider.\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## Before you call either\n\n### Cline\n\n1. Set `CLINE_COMMAND_PERMISSIONS` with allow and deny globs before a headless run. The CLI approves every tool by default\n2. Pick a provider with `-P` and a key, or run `cline auth`. The default provider needs a Cline sign-in\n3. Untick 'Allow error and usage reporting', or turn off VS Code telemetry, before the first task\n4. Pin the CLI version. 2.3.0 was a malicious publish\n5. Keep the hub on 127.0.0.1 or set ROOM_SECRET, and run 3.0.30 or later\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## Questions\n\n### Which is better for AI agents, Cline or Pi?\n\nPi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability.\n\n### Are Cline and Pi open source?\n\nYes. Cline is open source (Apache-2.0). Pi is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cline-vs-earendil-pi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cline-vs-earendil-pi.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cline\", \"b\": \"earendil-pi\"}`. From a terminal: `anchor compare cline earendil-pi`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cline.json and https://www.anchorterminal.com/api/v1/tools/earendil-pi.json\n\n## Other comparisons with Cline or Pi\n\n- [Aider vs Cline](https://www.anchorterminal.com/compare/aider-vs-cline.md)\n- [Aider vs Pi](https://www.anchorterminal.com/compare/aider-vs-earendil-pi.md)\n- [Amp vs Cline](https://www.anchorterminal.com/compare/amp-vs-cline.md)\n- [Amp vs Pi](https://www.anchorterminal.com/compare/amp-vs-earendil-pi.md)\n- [Claude Code vs Cline](https://www.anchorterminal.com/compare/claude-code-vs-cline.md)\n- [Claude Code vs Pi](https://www.anchorterminal.com/compare/claude-code-vs-earendil-pi.md)\n- [Cline vs Cursor CLI](https://www.anchorterminal.com/compare/cline-vs-cursor-cli.md)\n- [Cline vs Devin](https://www.anchorterminal.com/compare/cline-vs-devin.md)\n- [Cline vs Gemini CLI](https://www.anchorterminal.com/compare/cline-vs-gemini-cli.md)\n- [Cline vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/cline-vs-github-copilot-cli.md)\n- [Cline vs goose](https://www.anchorterminal.com/compare/cline-vs-goose.md)\n- [Cline vs Kiro CLI](https://www.anchorterminal.com/compare/cline-vs-kiro-cli.md)\n- [Cline vs OpenAI Codex](https://www.anchorterminal.com/compare/cline-vs-openai-codex.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Cline vs OpenHands](https://www.anchorterminal.com/compare/cline-vs-openhands.md)\n- [Cline vs Prime Agent](https://www.anchorterminal.com/compare/cline-vs-prime-agent.md)\n- [Cline vs Qwen Code](https://www.anchorterminal.com/compare/cline-vs-qwen-code.md)\n- [Cursor CLI vs Pi](https://www.anchorterminal.com/compare/cursor-cli-vs-earendil-pi.md)\n- [Devin vs Pi](https://www.anchorterminal.com/compare/devin-vs-earendil-pi.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 Prime Agent](https://www.anchorterminal.com/compare/earendil-pi-vs-prime-agent.md)\n- [Pi vs Qwen Code](https://www.anchorterminal.com/compare/earendil-pi-vs-qwen-code.md)\n- [Cline vs Paperclip](https://www.anchorterminal.com/compare/cline-vs-paperclip.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": "Cline vs Pi",
        "url": ""
      }
    ],
    "description": "Pi scores 68.4 (B) on agent readiness against Cline's 60.4 (C), and leads in 6 of 7 scored categories. Cline leads on reliability. Both do agent harness. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cline C 60.4",
      "Pi B 68.4",
      "scores"
    ],
    "h1": "Cline vs Pi",
    "image": "https://www.anchorterminal.com/assets/og/compare-cline-vs-earendil-pi.png",
    "path": "/compare/cline-vs-earendil-pi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cline vs Pi for AI agents, C 60.4 vs B 68.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/cline-vs-earendil-pi"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 580
  },
  "version": 1
}
