{
  "data": {
    "a": {
      "slug": "opencode",
      "name": "OpenCode",
      "vendor": "Anomaly",
      "vendorUrl": "https://opencode.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source terminal coding agent from Anomaly Innovations, with a TUI, desktop app, IDE and ACP integration, and a headless HTTP server with an OpenAPI spec. Version 2, released in October 2026, is an opt-in upgrade.",
      "url": "https://www.anchorterminal.com/tools/opencode",
      "markdownUrl": "https://www.anchorterminal.com/tools/opencode.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opencode.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opencode.json",
      "dns": "opencode.grade.anchorterminal.com",
      "repo": "https://github.com/anomalyco/opencode",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "opencode-ai"
        },
        {
          "registry": "npm",
          "name": "@opencode-ai/sdk"
        }
      ],
      "auth": "none",
      "authNotes": "No account needed. Provider keys go in with `opencode auth login` (stored in ~/.local/share/opencode/auth.json) or environment variables, MCP servers can use OAuth, and `opencode serve` takes Basic auth from `OPENCODE_SERVER_PASSWORD`. With no key it uses free OpenCode Zen models with a public key.",
      "pricing": "freemium",
      "pricingNotes": "Free and MIT. You pay your model provider, or OpenCode Zen per token, with prices per million tokens published for every model, or OpenCode Go at $10 a month (Go Plus $40) for a set of open models. Some Zen models are free for a limited time and may use prompts to improve the model.",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 211000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://opencode.ai/docs",
      "openapi": "https://raw.githubusercontent.com/anomalyco/opencode/v1/packages/sdk/openapi.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "freemium",
        "typescript",
        "openapi",
        "no-card",
        "no-key",
        "usage-priced"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.8,
        "grade": "B",
        "agentReady": false,
        "rank": 269,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-01-12. GHSA-vxw4-wv6m-9hhh (CVE-2026-22812, 8.8), the HTTP server the TUI started had no authentication, so local processes could run shell commands as the user, fixed in 1.0.216. GHSA-c83v-7274-4vgp (CVE-2026-22813), unsanitised Markdown in the web UI let a malicious page run commands on the machine, fixed in 1.1.10. Fixed, published and more than six months old, -1 each. https://github.com/anomalyco/opencode/security/advisories",
          "2026-09-24. GHSA-632h-h47v-g4x4 (7.5, no CVE). The server's `/global/upgrade` endpoint accepted any package specifier without checking where the request came from, so a web page could make `opencode serve` install an attacker's npm package and run its scripts. Fixed in 1.18.22. Inside six months, -2. https://github.com/anomalyco/opencode/security/advisories/GHSA-632h-h47v-g4x4"
        ],
        "verdict": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.",
        "bestFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "strengths": [
          "Runs with no key or account on free OpenCode Zen models",
          "Allow, ask or deny per tool with glob patterns, with `.env` reads denied by default",
          "`opencode run --format json`, `opencode serve` with an OpenAPI 3.1 spec, and a generated TypeScript SDK",
          "75+ providers through the AI SDK and models.dev, plus local models",
          "No product telemetry found, and OpenTelemetry export is opt-in"
        ],
        "weaknesses": [
          "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox",
          "Updates download and install at startup unless `autoupdate` is off",
          "Keyless runs send prompts to free models, some of which may use them for training",
          "Three advisories in 2026 against its local server and web UI, and CVE-2026-88624 against worktree removal, still in 1.19.5's code",
          "OpenCode 2 changes the server API and plugin API, and allows paths outside the project by default"
        ],
        "agentNotes": [
          "Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow",
          "Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI",
          "Configure a provider key. With none, prompts go to free Zen models that may train on them",
          "Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated",
          "Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.8
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 82
        },
        "provenanceScore": 59,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm i -g opencode-ai@latest   # or: curl -fsSL https://opencode.ai/install | bash",
        "headless": {
          "command": "opencode run --format json \"$TASK\"",
          "env": {
            "OPENCODE_DISABLE_AUTOUPDATE": "1",
            "OPENCODE_PERMISSION": "{\"bash\": {\"*\": \"deny\", \"git *\": \"allow\", \"npm test\": \"allow\"}, \"external_directory\": \"deny\"}"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/opencode"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "OpenCode Go",
          "unit": "month",
          "usd": 10,
          "note": "Go Plus is $40 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Anomaly Innovations, Inc.",
        "domain": "opencode.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://opencode.ai/legal/terms-of-service",
        "privacy": "https://opencode.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://opencode.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The terms (effective 15 August 2026) name Anomaly Innovations, Inc. The privacy policy is effective 6 March 2026, with help@anoma.ly as the contact.",
          "opencode.ai/.well-known/security.txt returns 404 (re-read on 1 November 2026). SECURITY.md points to GitHub private reporting and security@anoma.ly.",
          "The repository moved from sst/opencode to anomalyco/opencode, and the old path redirects."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencode.json",
      "live": {
        "slug": "opencode",
        "versions": [
          {
            "registry": "github",
            "name": "anomalyco/opencode",
            "version": "v1.19.5",
            "released": "2026-10-28",
            "seenAt": "2026-11-06T23:52:32.774708991Z"
          },
          {
            "registry": "npm",
            "name": "@opencode-ai/sdk",
            "version": "1.19.5",
            "seenAt": "2026-11-06T23:52:31.226852116Z"
          },
          {
            "registry": "npm",
            "name": "opencode-ai",
            "version": "1.19.5",
            "seenAt": "2026-11-06T23:52:30.533289746Z"
          }
        ],
        "githubStars": 225059,
        "npmWeekly": 3842204,
        "securityTxt": {
          "url": "https://opencode.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-11-04T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:01:30.537474438Z"
        },
        "domain": {
          "domain": "opencode.ai",
          "registered": "2022-12-07",
          "source": "https://rdap.identitydigital.services/rdap/domain/opencode.ai",
          "checkedAt": "2026-11-01T14:19:08.319256497Z"
        },
        "pages": [
          {
            "url": "https://opencode.ai/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:26.452035905Z",
            "changedAt": "2026-11-07T14:15:26.452035905Z",
            "fingerprint": "758525400119"
          },
          {
            "url": "https://anoma.ly/notes/opencode-2-0/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T13:59:07.267844193Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c759f58f9191"
          },
          {
            "url": "https://opencode.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:28.907171341Z",
            "changedAt": "2026-11-07T14:15:28.907171341Z",
            "fingerprint": "22cbdace4da6"
          },
          {
            "url": "https://opencode.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:31.324995952Z",
            "changedAt": "2026-11-07T14:15:31.324995952Z",
            "fingerprint": "a1ddc3f12be9"
          }
        ],
        "github": {
          "repo": "anomalyco/opencode",
          "checkedAt": "2026-11-02T08:30:39.073309468Z",
          "stars": 223939,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T06:25:10Z",
          "openIssues": 2336,
          "openPRs": 1425,
          "issuesOpened90d": 10155,
          "issuesClosed90d": 11578,
          "prsMerged90d": 4754,
          "ci": {
            "branch": "dev",
            "runs": 50,
            "success": 48,
            "failure": 0,
            "other": 2,
            "latest": "success",
            "latestAt": "2026-11-02T06:25:21Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-632h-h47v-g4x4",
              "severity": "high",
              "published": "2026-09-24T13:36:45Z"
            },
            {
              "ghsa": "GHSA-c83v-7274-4vgp",
              "cve": "CVE-2026-22813",
              "severity": "critical",
              "published": "2026-01-12T21:32:40Z"
            },
            {
              "ghsa": "GHSA-vxw4-wv6m-9hhh",
              "cve": "CVE-2026-22812",
              "severity": "high",
              "published": "2026-01-12T19:43:04Z"
            }
          ]
        },
        "updatedAt": "2026-11-07T16:01:30.537474438Z"
      }
    },
    "answer": "OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "t3-code",
      "name": "T3 Code",
      "vendor": "T3 Tools Inc.",
      "vendorUrl": "https://t3.codes",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "T3 Code is an open-source control surface for the coding agents on your machine, Claude Code, Codex, Cursor, Grok Build, OpenCode, Antigravity and fx, from desktop, web and iOS and Android apps.",
      "url": "https://www.anchorterminal.com/tools/t3-code",
      "markdownUrl": "https://www.anchorterminal.com/tools/t3-code.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/t3-code.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/t3-code.json",
      "dns": "t3-code.grade.anchorterminal.com",
      "repo": "https://github.com/pingdotgg/t3code",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the coding agents it runs, through your own subscriptions or API keys (checked 2026-11-07).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol in the repository or README (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://github.com/pingdotgg/t3code/tree/main/docs",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "mit",
        "desktop-app",
        "mobile",
        "telemetry",
        "new"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.9,
        "grade": "D",
        "agentReady": false,
        "rank": 1002,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 40,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 75,
          "payments": 60,
          "reliability": 43,
          "schema": 55,
          "security": 35,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.",
        "bestFor": "Developers who want one app, including on their phone, to drive several coding agents they already pay for.",
        "strengths": [
          "Controls Claude Code, Codex, Cursor, Grok Build, OpenCode, Antigravity and fx with your existing subscriptions",
          "iOS and Android apps to steer agents running on your machine",
          "Managed policies for teams, including turning telemetry off",
          "MIT, with active CI and daily nightlies"
        ],
        "weaknesses": [
          "Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom",
          "The telemetry opt-out is in the docs, not the README",
          "Pre-1.0, at 0.1.7 stable",
          "Installs with curl piped to sh"
        ],
        "agentNotes": [
          "Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent",
          "Install and log in to at least one provider CLI first, such as codex login or claude auth login",
          "Use a managed policy to fix settings across a team"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.9
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 75,
          "payments": 60,
          "reliability": 43,
          "schema": 55,
          "security": 35,
          "transparency": 62
        },
        "provenanceScore": 40,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "curl -fsSL https://t3.codes/install.sh | sh"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/t3-code"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "T3 Tools Inc.",
        "domain": "t3.codes",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The licence names T3 Tools Inc.. The repository is github.com/pingdotgg/t3code."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/t3-code.json",
      "live": {
        "slug": "t3-code",
        "securityTxt": {
          "url": "https://t3.codes/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-11-07T09:42:17.281Z",
          "checkedAt": "2026-11-07T16:01:55.404622007Z"
        },
        "updatedAt": "2026-11-07T16:01:55.404622007Z"
      }
    },
    "edges": [
      {
        "by": 33,
        "category": "schema",
        "leads": "opencode",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A JSON Schema for the config file at opencode.ai/config.json, and an OpenAPI 3.1 spec for the 1.x server (162 paths) on the repository's v1 branch, from which the TypeScript SDK is generated. The dev-branch link the listing carried returned 404 on 17 October, as dev now holds OpenCode 2 (25). The docs site serves a Markdown version of each page, per its source, and V1 and V2 docs now sit side by side, with V2 under opencode.ai/v2/docs (10). Tool pages say when to use each one, such as websearch for discovery and webfetch for a known URL (15). Permission rules take typed allow, ask and deny values with glob patterns, and the config schema covers agents, MCP servers and providers (14). Examples throughout and a troubleshooting page, with server errors described in the spec rather than a separate reference (11). A dated changelog at opencode.ai/changelog and GitHub releases (13).",
          "b": "Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55)."
        },
        "scores": {
          "a": 88,
          "b": 55
        }
      },
      {
        "by": 29,
        "category": "reliability",
        "leads": "opencode",
        "name": "Reliability",
        "reasons": {
          "a": "Read as a local package, graded on the 1.x line that `npm i -g opencode-ai` and the opencode.ai/install script put on a machine. `opencode-ai` 1.19.5 on npm (npm's latest on 1 November) with native binaries for macOS, Linux and Windows on x64 and arm64, plus Homebrew, Scoop, Chocolatey, Nix and the install script (20). A test workflow runs on the repository. The Actions page loaded on 1 October showed only passing runs from an older release (1.3.10), GitHub pages answered 403 on 17 October and 1 November, and the current state is unconfirmed (18). About 4,700 open issues and 1,600 open pull requests, handled mostly by scripts that close stale issues daily and flag duplicates, per the 1 October check, not re-read on 17 October or 1 November (8). Releases come almost daily with notes on GitHub and a changelog page. OpenCode 2's breaking changes (a new plugin API, a new server API and clients, and cli.json in place of tui.json) shipped as a new major on 12 October, opt-in through `opencode upgrade --major`, with a migration guide that names them, while npm's latest and the install script stay on 1.x. The 1.19.4 and 1.19.5 commits change no SDK code and mark no breaking change, but the 1.x release notes weren't read for a breaking-change section (11). 1.19, stable (15).",
          "b": "Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43."
        },
        "scores": {
          "a": 72,
          "b": 43
        }
      },
      {
        "by": 25,
        "category": "security",
        "leads": "opencode",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, used for all five harnesses in this batch. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry found in the source or docs, and OpenTelemetry export is opt-in through `experimental.openTelemetry`. It fetches the model list from models.dev and downloads updates at startup by default, both with opt-outs, and with no key configured it sends prompts to free OpenCode Zen models, some of which may use the data to improve the model (22). Allow, ask or deny per tool with glob patterns, `.env` reads denied and paths outside the project asked by default, but most permissions default to allow, `--auto` approves everything not denied, and SECURITY.md says the permission system is not a sandbox (9). SECURITY.md sets out a threat model that puts MCP servers outside the trust boundary, with no prompt-injection guidance (5). Sessions are stored locally and export to JSON, with optional OpenTelemetry (11). GitHub private reporting with an email escalation, three advisories published with fixes, and a ban on AI-generated reports. No security.txt (13). CVE-2026-88624 (published 22 September, CVSS 9.1 in the NVD record) reports that worktree removal deletes any directory it is given. In 1.19.5, as in 1.19.3, `Worktree.remove` still deletes an existing path that isn't a registered worktree. The call needs access to the server API, which SECURITY.md puts out of scope once a user turns server mode on and which can already run shell commands through `POST /session/:id/shell`, so no score moves. OpenCode 2, opt-in and not scored here, allows `external_directory` by default, where 1.x asks.",
          "b": "Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35."
        },
        "scores": {
          "a": 60,
          "b": 35
        }
      },
      {
        "by": 20,
        "category": "transparency",
        "leads": "opencode",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT (30). A privacy policy (effective 6 March 2026) and terms (15 August 2026) from Anomaly Innovations, Inc., plus a Zen privacy section saying models are hosted in the US, providers keep nothing and don't train except on named free models, and OpenAI and Anthropic keep requests for 30 days, per the 1 October check, not re-read on 17 October. The general retention line is as long as necessary (22). Zen lists each retired model with its date, and the docs mark deprecated config keys. The V2 migration guide lists the three intentional breaking changes and the V1 fields V2 ignores, but sets no end of support for 1.x (15). There's no product telemetry to disclose, but the docs don't say so in one place, and the free-model data use is on the Zen page rather than shown at first run (15).",
          "b": "MIT (30). docs/user/telemetry.md lists what is sent and what isn't, but includes hashed third-party account identifiers and the README doesn't mention it (15 of 30). No deprecation policy (5). Disclosed with an opt-out, on by default (12 of 20). 30 + 15 + 5 + 12 = 62."
        },
        "scores": {
          "a": 71,
          "b": 51
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "opencode",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Harness reading of the framework line, scored on what an agent or pipeline driving it has to supply. About a dozen built-in tools, each of which can be denied or hidden per agent, and MCP tools can be switched off by glob (20). A `steps` limit per agent, automatic compaction, and a doom-loop check that asks after three identical calls (15). `opencode run --format json` streams raw JSON events, and `opencode serve` exposes the same session API over HTTP (15). Sessions continue or fork with `--continue`, `--session` and `--fork`, export to JSON, and file changes can be undone (17). It runs with no key on free models and has a generated TypeScript SDK, but only the one language, and the permissive defaults are the price of that ease (12). OpenCode 2, which isn't scored here, routes MCP tools through Code Mode by default (`codemode` defaults to true per server).",
          "b": "Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60)."
        },
        "scores": {
          "a": 79,
          "b": 60
        }
      },
      {
        "by": 6,
        "category": "maintenance",
        "leads": "opencode",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "1.19.5 on npm on 2026-10-28, 4 days before the check, and v2.2.5 tagged on 30 October (30). 30 releases on the 1.x line (1.18.12 to 1.19.5) in the 90 days to 1 November, plus 44 v2 tags (20). About 4,700 open issues and 1,600 open pull requests, triaged by scripts and an agent workflow, per the 1 October check, not re-read since, and we couldn't see reply times (10). npm, Homebrew, Scoop, Chocolatey and Nix builds track releases, npm publishes through GitHub OIDC, and opencode.ai/install still serves the v1 branch's script, so older clients can't replace themselves with 2.x by accident (14). Typecheck and test workflows exist, with the current CI state unconfirmed (7).",
          "b": "Commits and nightly tags on 6 November 2026 (30). More than three releases in 90 days (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current official apps and install script (15). CI on push (10). 30 + 20 + 0 + 15 + 10 = 75."
        },
        "scores": {
          "a": 81,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Anomaly",
        "b": "T3 Tools Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "2026-08-15",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-06",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "211k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, OpenCode or T3 Code?"
      },
      {
        "answer": "Yes. OpenCode is open source (MIT). T3 Code is open source (MIT).",
        "question": "Are OpenCode and T3 Code open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 43",
          "Schema \u0026 documentation, 88 against 55",
          "Agent ergonomics, 79 against 60",
          "Security \u0026 auth, 60 against 35",
          "Maintenance \u0026 community, 81 against 75",
          "Transparency \u0026 trust, 71 against 51"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "slug": "opencode",
        "watchFor": "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where OpenCode loses 4 points for them"
        ],
        "goodFor": "Developers who want one app, including on their phone, to drive several coding agents they already pay for.",
        "slug": "t3-code",
        "watchFor": "Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom"
      }
    ],
    "history": {
      "opencode": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 68.5,
          "fromGrade": "B",
          "to": 68.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "product"
          ],
          "date": "2026-10-17",
          "delta": 0.8,
          "from": 67.7,
          "fromGrade": "B",
          "to": 68.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 68,
          "fromGrade": "B",
          "to": 67.7,
          "toGrade": "B"
        }
      ],
      "t3-code": null
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode.json",
        "title": "Agent Zero vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.json",
        "title": "Agent Zero vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-opencode.json",
        "title": "Aider vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/aider-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-t3-code.json",
        "title": "Aider vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/aider-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-opencode.json",
        "title": "Amp vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/amp-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-t3-code.json",
        "title": "Amp vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/amp-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.json",
        "title": "Antigravity CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code.json",
        "title": "Antigravity CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-opencode.json",
        "title": "Auggie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-t3-code.json",
        "title": "Auggie CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-opencode.json",
        "title": "AXLR vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-t3-code.json",
        "title": "AXLR vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-opencode.json",
        "title": "Claude Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-t3-code.json",
        "title": "Claude Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-t3-code"
      },
      {
        "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-t3-code.json",
        "title": "Cline vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cline-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-opencode.json",
        "title": "Conductor vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-t3-code.json",
        "title": "Conductor vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-opencode.json",
        "title": "Crush vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/crush-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-t3-code.json",
        "title": "Crush vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/crush-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.json",
        "title": "Cursor CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code.json",
        "title": "Cursor CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.json",
        "title": "DeepSeek Harness (dsh) vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code.json",
        "title": "DeepSeek Harness (dsh) vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-opencode.json",
        "title": "dsh-superagent (DeepSeek) vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code.json",
        "title": "dsh-superagent (DeepSeek) vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-opencode.json",
        "title": "Devin vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/devin-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-t3-code.json",
        "title": "Devin vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/devin-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-opencode.json",
        "title": "Droid CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-t3-code.json",
        "title": "Droid CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-t3-code"
      },
      {
        "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-t3-code.json",
        "title": "Pi vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-opencode.json",
        "title": "Emdash vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-t3-code.json",
        "title": "Emdash vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.json",
        "title": "Gemini CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code.json",
        "title": "Gemini CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.json",
        "title": "GitHub Copilot CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code.json",
        "title": "GitHub Copilot CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-opencode.json",
        "title": "goose vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/goose-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-t3-code.json",
        "title": "goose vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/goose-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-opencode.json",
        "title": "Harness² vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-t3-code.json",
        "title": "Harness² vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.json",
        "title": "HarnessRouter vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code.json",
        "title": "HarnessRouter vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-opencode.json",
        "title": "Jules vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/jules-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-t3-code.json",
        "title": "Jules vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/jules-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-opencode.json",
        "title": "Junie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/junie-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-t3-code.json",
        "title": "Junie CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.json",
        "title": "Kilo Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.json",
        "title": "Kilo Code CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.json",
        "title": "Kimi Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code.json",
        "title": "Kimi Code CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.json",
        "title": "Kiro CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.json",
        "title": "Kiro CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-opencode.json",
        "title": "Letta vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/letta-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letta-vs-t3-code.json",
        "title": "Letta vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/letta-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.json",
        "title": "mini-swe-agent vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code.json",
        "title": "mini-swe-agent vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-opencode.json",
        "title": "MiniMax Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-t3-code.json",
        "title": "MiniMax Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.json",
        "title": "Mistral Vibe CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.json",
        "title": "Mistral Vibe CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-opencode.json",
        "title": "Muse Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-t3-code.json",
        "title": "Muse Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.json",
        "title": "OpenAI Agents API vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code.json",
        "title": "OpenAI Agents API vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode.json",
        "title": "OpenAI Codex vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.json",
        "title": "OpenAI Codex vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openhands.json",
        "title": "OpenCode vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot.json",
        "title": "OpenCode vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-orca.json",
        "title": "OpenCode vs Orca",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-paseo.json",
        "title": "OpenCode vs Paseo",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent.json",
        "title": "OpenCode vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.json",
        "title": "OpenCode vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code.json",
        "title": "OpenCode vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.json",
        "title": "OpenCode vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror"
      },
      {
        "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/opencode-vs-sculptor.json",
        "title": "OpenCode vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-traycer.json",
        "title": "OpenCode vs Traycer",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-unstoppable.json",
        "title": "OpenCode vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-verdent.json",
        "title": "OpenCode vs Verdent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.json",
        "title": "OpenCode vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-warp.json",
        "title": "OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-t3-code.json",
        "title": "OpenHands vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orca-vs-t3-code.json",
        "title": "Orca vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/orca-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paseo-vs-t3-code.json",
        "title": "Paseo vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/paseo-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-t3-code.json",
        "title": "Prime Agent vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code.json",
        "title": "Qoder CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.json",
        "title": "Qwen Code vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code.json",
        "title": "Mirror CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code.json",
        "title": "Rovo Dev CLI vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sculptor-vs-t3-code.json",
        "title": "Sculptor vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/sculptor-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-traycer.json",
        "title": "T3 Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-unstoppable.json",
        "title": "T3 Code vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-verdent.json",
        "title": "T3 Code vs Verdent",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading.json",
        "title": "T3 Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/t3-code-vs-warp.json",
        "title": "T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/t3-code-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-opencode.json",
        "title": "Clawboo vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-t3-code.json",
        "title": "Clawboo vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-opencode.json",
        "title": "CLI Manager vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-t3-code.json",
        "title": "CLI Manager vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.json",
        "title": "Harness vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code.json",
        "title": "Harness vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-paperclip.json",
        "title": "OpenCode vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-parallax-agents.json",
        "title": "OpenCode vs Parallax",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.json",
        "title": "OpenMausBot vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-t3-code.json",
        "title": "Paperclip vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-t3-code.json",
        "title": "Parallax vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-t3-code"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 29,
        "edge": "opencode",
        "key": "reliability",
        "name": "Reliability",
        "opencode": 72,
        "t3-code": 43,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "opencode",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opencode": 88,
        "t3-code": 55,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "opencode",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opencode": 79,
        "t3-code": 60,
        "weight": 13
      },
      {
        "by": 25,
        "edge": "opencode",
        "key": "security",
        "name": "Security \u0026 auth",
        "opencode": 60,
        "t3-code": 35,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opencode": 60,
        "t3-code": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "opencode",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opencode": 81,
        "t3-code": 75,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "opencode",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opencode": 71,
        "t3-code": 51,
        "weight": 7
      }
    ],
    "summary": "OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "opencode": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.",
      "t3-code": "A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opencode-vs-t3-code",
    "json": "https://www.anchorterminal.com/compare/opencode-vs-t3-code.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opencode-vs-t3-code.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/opencode-vs-t3-code.min.md"
  },
  "markdown": "OpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories. Both do agent harnesses.\n\n- OpenCode: grade B, 68.8/100, rank #269 of 1486. Markdown https://www.anchorterminal.com/tools/opencode.md · JSON https://www.anchorterminal.com/api/v1/tools/opencode.json\n- T3 Code: grade D, 51.9/100, rank #1002 of 1486. Markdown https://www.anchorterminal.com/tools/t3-code.md · JSON https://www.anchorterminal.com/api/v1/tools/t3-code.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1500 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### OpenCode (B)\n\nGood for: Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.\n\nAhead on:\n- Reliability, 72 against 43\n- Schema \u0026 documentation, 88 against 55\n- Agent ergonomics, 79 against 60\n- Security \u0026 auth, 60 against 35\n- Maintenance \u0026 community, 81 against 75\n- Transparency \u0026 trust, 71 against 51\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox\n\n### T3 Code (D)\n\nGood for: Developers who want one app, including on their phone, to drive several coding agents they already pay for.\n\nAlso in its favour:\n- No incidents deducted, where OpenCode loses 4 points for them\n\nWatch for: Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom\n\n\n## Why the edge\n\n### Schema \u0026 documentation: OpenCode +33\n\n- OpenCode (88): A JSON Schema for the config file at opencode.ai/config.json, and an OpenAPI 3.1 spec for the 1.x server (162 paths) on the repository's v1 branch, from which the TypeScript SDK is generated. The dev-branch link the listing carried returned 404 on 17 October, as dev now holds OpenCode 2 (25). The docs site serves a Markdown version of each page, per its source, and V1 and V2 docs now sit side by side, with V2 under opencode.ai/v2/docs (10). Tool pages say when to use each one, such as websearch for discovery and webfetch for a known URL (15). Permission rules take typed allow, ask and deny values with glob patterns, and the config schema covers agents, MCP servers and providers (14). Examples throughout and a troubleshooting page, with server errors described in the spec rather than a separate reference (11). A dated changelog at opencode.ai/changelog and GitHub releases (13).\n- T3 Code (55): Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55).\n\n### Reliability: OpenCode +29\n\n- OpenCode (72): Read as a local package, graded on the 1.x line that `npm i -g opencode-ai` and the opencode.ai/install script put on a machine. `opencode-ai` 1.19.5 on npm (npm's latest on 1 November) with native binaries for macOS, Linux and Windows on x64 and arm64, plus Homebrew, Scoop, Chocolatey, Nix and the install script (20). A test workflow runs on the repository. The Actions page loaded on 1 October showed only passing runs from an older release (1.3.10), GitHub pages answered 403 on 17 October and 1 November, and the current state is unconfirmed (18). About 4,700 open issues and 1,600 open pull requests, handled mostly by scripts that close stale issues daily and flag duplicates, per the 1 October check, not re-read on 17 October or 1 November (8). Releases come almost daily with notes on GitHub and a changelog page. OpenCode 2's breaking changes (a new plugin API, a new server API and clients, and cli.json in place of tui.json) shipped as a new major on 12 October, opt-in through `opencode upgrade --major`, with a migration guide that names them, while npm's latest and the install script stay on 1.x. The 1.19.4 and 1.19.5 commits change no SDK code and mark no breaking change, but the 1.x release notes weren't read for a breaking-change section (11). 1.19, stable (15).\n- T3 Code (43): Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43.\n\n### Security \u0026 auth: OpenCode +25\n\n- OpenCode (60): Harness reading of the framework checklist, used for all five harnesses in this batch. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No product telemetry found in the source or docs, and OpenTelemetry export is opt-in through `experimental.openTelemetry`. It fetches the model list from models.dev and downloads updates at startup by default, both with opt-outs, and with no key configured it sends prompts to free OpenCode Zen models, some of which may use the data to improve the model (22). Allow, ask or deny per tool with glob patterns, `.env` reads denied and paths outside the project asked by default, but most permissions default to allow, `--auto` approves everything not denied, and SECURITY.md says the permission system is not a sandbox (9). SECURITY.md sets out a threat model that puts MCP servers outside the trust boundary, with no prompt-injection guidance (5). Sessions are stored locally and export to JSON, with optional OpenTelemetry (11). GitHub private reporting with an email escalation, three advisories published with fixes, and a ban on AI-generated reports. No security.txt (13). CVE-2026-88624 (published 22 September, CVSS 9.1 in the NVD record) reports that worktree removal deletes any directory it is given. In 1.19.5, as in 1.19.3, `Worktree.remove` still deletes an existing path that isn't a registered worktree. The call needs access to the server API, which SECURITY.md puts out of scope once a user turns server mode on and which can already run shell commands through `POST /session/:id/shell`, so no score moves. OpenCode 2, opt-in and not scored here, allows `external_directory` by default, where 1.x asks.\n- T3 Code (35): Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35.\n\n### Transparency \u0026 trust: OpenCode +20\n\n- OpenCode (71): MIT (30). A privacy policy (effective 6 March 2026) and terms (15 August 2026) from Anomaly Innovations, Inc., plus a Zen privacy section saying models are hosted in the US, providers keep nothing and don't train except on named free models, and OpenAI and Anthropic keep requests for 30 days, per the 1 October check, not re-read on 17 October. The general retention line is as long as necessary (22). Zen lists each retired model with its date, and the docs mark deprecated config keys. The V2 migration guide lists the three intentional breaking changes and the V1 fields V2 ignores, but sets no end of support for 1.x (15). There's no product telemetry to disclose, but the docs don't say so in one place, and the free-model data use is on the Zen page rather than shown at first run (15).\n- T3 Code (51): MIT (30). docs/user/telemetry.md lists what is sent and what isn't, but includes hashed third-party account identifiers and the README doesn't mention it (15 of 30). No deprecation policy (5). Disclosed with an opt-out, on by default (12 of 20). 30 + 15 + 5 + 12 = 62.\n\n### Agent ergonomics: OpenCode +19\n\n- OpenCode (79): Harness reading of the framework line, scored on what an agent or pipeline driving it has to supply. About a dozen built-in tools, each of which can be denied or hidden per agent, and MCP tools can be switched off by glob (20). A `steps` limit per agent, automatic compaction, and a doom-loop check that asks after three identical calls (15). `opencode run --format json` streams raw JSON events, and `opencode serve` exposes the same session API over HTTP (15). Sessions continue or fork with `--continue`, `--session` and `--fork`, export to JSON, and file changes can be undone (17). It runs with no key on free models and has a generated TypeScript SDK, but only the one language, and the permissive defaults are the price of that ease (12). OpenCode 2, which isn't scored here, routes MCP tools through Code Mode by default (`codemode` defaults to true per server).\n- T3 Code (60): Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60).\n\n### Maintenance \u0026 community: OpenCode +6\n\n- OpenCode (81): 1.19.5 on npm on 2026-10-28, 4 days before the check, and v2.2.5 tagged on 30 October (30). 30 releases on the 1.x line (1.18.12 to 1.19.5) in the 90 days to 1 November, plus 44 v2 tags (20). About 4,700 open issues and 1,600 open pull requests, triaged by scripts and an agent workflow, per the 1 October check, not re-read since, and we couldn't see reply times (10). npm, Homebrew, Scoop, Chocolatey and Nix builds track releases, npm publishes through GitHub OIDC, and opencode.ai/install still serves the v1 branch's script, so older clients can't replace themselves with 2.x by accident (14). Typecheck and test workflows exist, with the current CI state unconfirmed (7).\n- T3 Code (75): Commits and nightly tags on 6 November 2026 (30). More than three releases in 90 days (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current official apps and install script (15). CI on push (10). 30 + 20 + 0 + 15 + 10 = 75.\n\n## Score by category\n\n| Category | Weight | OpenCode | T3 Code | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 43 | OpenCode +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 55 | OpenCode +33 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 60 | OpenCode +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 35 | OpenCode +25 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 75 | OpenCode +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 51 | OpenCode +20 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **68.8 · B** | **51.9 · D** | |\n\n## Facts side by side\n\n| Fact | OpenCode | T3 Code |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Anomaly | T3 Tools Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-28 | 2026-11-06 |\n| Terms last updated | 2026-08-15 | no document linked |\n| Privacy policy last updated | 2026-03-06 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | yes | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | yes | not read yet |\n| Popularity | 211k stars | none |\n| Agent reviews | 2/5 (2) | none |\n\n## How the scores have moved\n\n### OpenCode\n\n- +0.3 on 27 October 2026: checklist\n- +0.8 on 17 October 2026: product\n- -0.3 on 8 October 2026: checklist\n\n### T3 Code\n\nNo score change since it was listed.\n\n## Verdicts\n\n**OpenCode.** Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.\n\n**T3 Code.** A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.\n\n## Before you call either\n\n### OpenCode\n\n1. Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow\n2. Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI\n3. Configure a provider key. With none, prompts go to free Zen models that may train on them\n4. Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated\n5. Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule\n\n### T3 Code\n\n1. Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent\n2. Install and log in to at least one provider CLI first, such as codex login or claude auth login\n3. Use a managed policy to fix settings across a team\n\n## Questions\n\n### Which is better for AI agents, OpenCode or T3 Code?\n\nOpenCode scores 68.8 (B) on agent readiness against T3 Code's 51.9 (D), and leads in 6 of 7 scored categories.\n\n### Are OpenCode and T3 Code open source?\n\nYes. OpenCode is open source (MIT). T3 Code is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opencode-vs-t3-code.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opencode-vs-t3-code.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opencode\", \"b\": \"t3-code\"}`. From a terminal: `anchor compare opencode t3-code`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opencode.json and https://www.anchorterminal.com/api/v1/tools/t3-code.json\n\n## Other comparisons with OpenCode or T3 Code\n\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Agent Zero vs T3 Code](https://www.anchorterminal.com/compare/agent-zero-vs-t3-code.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Aider vs T3 Code](https://www.anchorterminal.com/compare/aider-vs-t3-code.md)\n- [Amp vs OpenCode](https://www.anchorterminal.com/compare/amp-vs-opencode.md)\n- [Amp vs T3 Code](https://www.anchorterminal.com/compare/amp-vs-t3-code.md)\n- [Antigravity CLI vs OpenCode](https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.md)\n- [Antigravity CLI vs T3 Code](https://www.anchorterminal.com/compare/antigravity-cli-vs-t3-code.md)\n- [Auggie CLI vs OpenCode](https://www.anchorterminal.com/compare/auggie-vs-opencode.md)\n- [Auggie CLI vs T3 Code](https://www.anchorterminal.com/compare/auggie-vs-t3-code.md)\n- [AXLR vs OpenCode](https://www.anchorterminal.com/compare/axlr-vs-opencode.md)\n- [AXLR vs T3 Code](https://www.anchorterminal.com/compare/axlr-vs-t3-code.md)\n- [Claude Code vs OpenCode](https://www.anchorterminal.com/compare/claude-code-vs-opencode.md)\n- [Claude Code vs T3 Code](https://www.anchorterminal.com/compare/claude-code-vs-t3-code.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Cline vs T3 Code](https://www.anchorterminal.com/compare/cline-vs-t3-code.md)\n- [Conductor vs OpenCode](https://www.anchorterminal.com/compare/conductor-vs-opencode.md)\n- [Conductor vs T3 Code](https://www.anchorterminal.com/compare/conductor-vs-t3-code.md)\n- [Crush vs OpenCode](https://www.anchorterminal.com/compare/crush-vs-opencode.md)\n- [Crush vs T3 Code](https://www.anchorterminal.com/compare/crush-vs-t3-code.md)\n- [Cursor CLI vs OpenCode](https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.md)\n- [Cursor CLI vs T3 Code](https://www.anchorterminal.com/compare/cursor-cli-vs-t3-code.md)\n- [DeepSeek Harness (dsh) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.md)\n- [DeepSeek Harness (dsh) vs T3 Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-t3-code.md)\n- [dsh-superagent (DeepSeek) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-superagent-vs-opencode.md)\n- [dsh-superagent (DeepSeek) vs T3 Code](https://www.anchorterminal.com/compare/deepseek-superagent-vs-t3-code.md)\n- [Devin vs OpenCode](https://www.anchorterminal.com/compare/devin-vs-opencode.md)\n- [Devin vs T3 Code](https://www.anchorterminal.com/compare/devin-vs-t3-code.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Droid CLI vs T3 Code](https://www.anchorterminal.com/compare/droid-cli-vs-t3-code.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Pi vs T3 Code](https://www.anchorterminal.com/compare/earendil-pi-vs-t3-code.md)\n- [Emdash vs OpenCode](https://www.anchorterminal.com/compare/emdash-vs-opencode.md)\n- [Emdash vs T3 Code](https://www.anchorterminal.com/compare/emdash-vs-t3-code.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [Gemini CLI vs T3 Code](https://www.anchorterminal.com/compare/gemini-cli-vs-t3-code.md)\n- [GitHub Copilot CLI vs OpenCode](https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.md)\n- [GitHub Copilot CLI vs T3 Code](https://www.anchorterminal.com/compare/github-copilot-cli-vs-t3-code.md)\n- [goose vs OpenCode](https://www.anchorterminal.com/compare/goose-vs-opencode.md)\n- [goose vs T3 Code](https://www.anchorterminal.com/compare/goose-vs-t3-code.md)\n- [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [Harness² vs T3 Code](https://www.anchorterminal.com/compare/harness2-vs-t3-code.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [HarnessRouter vs T3 Code](https://www.anchorterminal.com/compare/harnessrouter-vs-t3-code.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Jules vs T3 Code](https://www.anchorterminal.com/compare/jules-vs-t3-code.md)\n- [Junie CLI vs OpenCode](https://www.anchorterminal.com/compare/junie-vs-opencode.md)\n- [Junie CLI vs T3 Code](https://www.anchorterminal.com/compare/junie-vs-t3-code.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.md)\n- [Kilo Code CLI vs T3 Code](https://www.anchorterminal.com/compare/kilo-code-cli-vs-t3-code.md)\n- [Kimi Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.md)\n- [Kimi Code CLI vs T3 Code](https://www.anchorterminal.com/compare/kimi-code-cli-vs-t3-code.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [Kiro CLI vs T3 Code](https://www.anchorterminal.com/compare/kiro-cli-vs-t3-code.md)\n- [Letta vs OpenCode](https://www.anchorterminal.com/compare/letta-vs-opencode.md)\n- [Letta vs T3 Code](https://www.anchorterminal.com/compare/letta-vs-t3-code.md)\n- [mini-swe-agent vs OpenCode](https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.md)\n- [mini-swe-agent vs T3 Code](https://www.anchorterminal.com/compare/mini-swe-agent-vs-t3-code.md)\n- [MiniMax Code vs OpenCode](https://www.anchorterminal.com/compare/minimax-code-vs-opencode.md)\n- [MiniMax Code vs T3 Code](https://www.anchorterminal.com/compare/minimax-code-vs-t3-code.md)\n- [Mistral Vibe CLI vs OpenCode](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.md)\n- [Mistral Vibe CLI vs T3 Code](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-t3-code.md)\n- [Muse Code vs OpenCode](https://www.anchorterminal.com/compare/muse-code-vs-opencode.md)\n- [Muse Code vs T3 Code](https://www.anchorterminal.com/compare/muse-code-vs-t3-code.md)\n- [OpenAI Agents API vs OpenCode](https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.md)\n- [OpenAI Agents API vs T3 Code](https://www.anchorterminal.com/compare/openai-agents-api-vs-t3-code.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.md)\n- [OpenAI Codex vs T3 Code](https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenCode vs OpenMausBot](https://www.anchorterminal.com/compare/opencode-vs-openmausbot.md)\n- [OpenCode vs Orca](https://www.anchorterminal.com/compare/opencode-vs-orca.md)\n- [OpenCode vs Paseo](https://www.anchorterminal.com/compare/opencode-vs-paseo.md)\n- [OpenCode vs Prime Agent](https://www.anchorterminal.com/compare/opencode-vs-prime-agent.md)\n- [OpenCode vs Qoder CLI](https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.md)\n- [OpenCode vs Qwen Code](https://www.anchorterminal.com/compare/opencode-vs-qwen-code.md)\n- [OpenCode vs Mirror CLI](https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.md)\n- [OpenCode vs Rovo Dev CLI](https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.md)\n- [OpenCode vs Sculptor](https://www.anchorterminal.com/compare/opencode-vs-sculptor.md)\n- [OpenCode vs Traycer](https://www.anchorterminal.com/compare/opencode-vs-traycer.md)\n- [OpenCode vs Unstoppable](https://www.anchorterminal.com/compare/opencode-vs-unstoppable.md)\n- [OpenCode vs Verdent](https://www.anchorterminal.com/compare/opencode-vs-verdent.md)\n- [OpenCode vs Vibe-Trading](https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.md)\n- [OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/opencode-vs-warp.md)\n- [OpenHands vs T3 Code](https://www.anchorterminal.com/compare/openhands-vs-t3-code.md)\n- [Orca vs T3 Code](https://www.anchorterminal.com/compare/orca-vs-t3-code.md)\n- [Paseo vs T3 Code](https://www.anchorterminal.com/compare/paseo-vs-t3-code.md)\n- [Prime Agent vs T3 Code](https://www.anchorterminal.com/compare/prime-agent-vs-t3-code.md)\n- [Qoder CLI vs T3 Code](https://www.anchorterminal.com/compare/qoder-cli-vs-t3-code.md)\n- [Qwen Code vs T3 Code](https://www.anchorterminal.com/compare/qwen-code-vs-t3-code.md)\n- [Mirror CLI vs T3 Code](https://www.anchorterminal.com/compare/reflection-mirror-vs-t3-code.md)\n- [Rovo Dev CLI vs T3 Code](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-t3-code.md)\n- [Sculptor vs T3 Code](https://www.anchorterminal.com/compare/sculptor-vs-t3-code.md)\n- [T3 Code vs Traycer](https://www.anchorterminal.com/compare/t3-code-vs-traycer.md)\n- [T3 Code vs Unstoppable](https://www.anchorterminal.com/compare/t3-code-vs-unstoppable.md)\n- [T3 Code vs Verdent](https://www.anchorterminal.com/compare/t3-code-vs-verdent.md)\n- [T3 Code vs Vibe-Trading](https://www.anchorterminal.com/compare/t3-code-vs-vibe-trading.md)\n- [T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/t3-code-vs-warp.md)\n- [Clawboo vs OpenCode](https://www.anchorterminal.com/compare/clawboo-vs-opencode.md)\n- [Clawboo vs T3 Code](https://www.anchorterminal.com/compare/clawboo-vs-t3-code.md)\n- [CLI Manager vs OpenCode](https://www.anchorterminal.com/compare/cli-manager-vs-opencode.md)\n- [CLI Manager vs T3 Code](https://www.anchorterminal.com/compare/cli-manager-vs-t3-code.md)\n- [Harness vs OpenCode](https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.md)\n- [Harness vs T3 Code](https://www.anchorterminal.com/compare/harness-autonomous-vs-t3-code.md)\n- [OpenCode vs Paperclip](https://www.anchorterminal.com/compare/opencode-vs-paperclip.md)\n- [OpenCode vs Parallax](https://www.anchorterminal.com/compare/opencode-vs-parallax-agents.md)\n- [OpenMausBot vs T3 Code](https://www.anchorterminal.com/compare/openmausbot-vs-t3-code.md)\n- [Paperclip vs T3 Code](https://www.anchorterminal.com/compare/paperclip-vs-t3-code.md)\n- [Parallax vs T3 Code](https://www.anchorterminal.com/compare/parallax-agents-vs-t3-code.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "OpenCode vs T3 Code",
        "url": ""
      }
    ],
    "description": "OpenCode scores 68.8 (B) to T3 Code's 51.9 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenCode B 68.8",
      "T3 Code D 51.9",
      "scores"
    ],
    "h1": "OpenCode vs T3 Code",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/opencode-vs-t3-code",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenCode vs T3 Code for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/opencode-vs-t3-code"
  },
  "tokens": {
    "markdown": 6250,
    "slim": 2730
  },
  "version": 1
}
