{
  "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 Traycer's 57 (C), and leads in every scored category.",
    "b": {
      "slug": "traycer",
      "name": "Traycer",
      "vendor": "Traycer AI",
      "vendorUrl": "https://traycer.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Traycer is an open-source orchestration app that runs coding agents you already pay for, or its own inference, in parallel with shared context across models, agent-to-agent messaging, shareable boards and cross-device sync.",
      "url": "https://www.anchorterminal.com/tools/traycer",
      "markdownUrl": "https://www.anchorterminal.com/tools/traycer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/traycer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/traycer.json",
      "dns": "traycer.grade.anchorterminal.com",
      "repo": "https://github.com/traycerai/traycer",
      "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://docs.traycer.ai",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "mit",
        "desktop-app",
        "cli",
        "telemetry",
        "new"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57,
        "grade": "C",
        "agentReady": false,
        "rank": 811,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 29,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 75,
          "payments": 30,
          "reliability": 65,
          "schema": 65,
          "security": 42,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "An open-source app for running several coding agents together with shared context, agent-to-agent messaging and team boards, on every desktop OS. Privacy Mode is opt-in for individuals, and the README says Sentry and PostHog may be on in release builds.",
        "bestFor": "Teams who want several coding agents working together with shared context and boards.",
        "strengths": [
          "Runs agents you already pay for, or Traycer's own inference",
          "Shares context across models and lets agents message each other",
          "macOS, Linux and Windows builds, with package-manager installs",
          "MIT, with CodeQL, Scorecard and secret scanning"
        ],
        "weaknesses": [
          "Privacy Mode is opt-in for individuals; with it off, prompts may be logged",
          "Sentry and PostHog may be enabled in release builds, with no opt-out in the README",
          "Inference subscription price not found on the pages read"
        ],
        "agentNotes": [
          "Turn on Privacy Mode if you're an individual user and don't want prompts logged",
          "CLI agents you configure send requests straight to their provider; Traycer's own inference goes through Traycer"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 75,
          "payments": 30,
          "reliability": 65,
          "schema": 65,
          "security": 42,
          "transparency": 66
        },
        "provenanceScore": 53,
        "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": "Download for macOS, Linux or Windows from the releases page"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/traycer"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Traycer AI",
        "domain": "traycer.ai",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/traycerai/traycer/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The licence names Traycer AI. The repository is github.com/traycerai/traycer."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/traycer.json",
      "live": {
        "slug": "traycer",
        "securityTxt": {
          "url": "https://traycer.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:47.880384121Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/traycerai/traycer/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:23:51.024738302Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d3f389f721e9"
          }
        ],
        "updatedAt": "2026-11-07T15:59:47.880384121Z"
      }
    },
    "edges": [
      {
        "by": 30,
        "category": "payments",
        "leads": "opencode",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No payment protocol (0). Scored on OpenCode Zen and Go. Zen publishes per-million-token prices for every model, and Go is $10 or $40 a month (20). The MIT package and the free Zen models need no card (20). With no key configured it loads the free Zen models with a public key, so an agent can install it and run a task with no signup at all (20).",
          "b": "Scored on the paid option, Traycer's own inference subscription, whose price wasn't read (0 of 20). No protocol (0). Bring-your-own-agent use is free (20). Accounts for sync and teams weren't checked, half (10). 0 + 0 + 20 + 10 = 30."
        },
        "scores": {
          "a": 60,
          "b": 30
        }
      },
      {
        "by": 23,
        "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. Mintlify docs, a protocol package and a CLI (65)."
        },
        "scores": {
          "a": 88,
          "b": 65
        }
      },
      {
        "by": 18,
        "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. Code is processed in memory and not used for training, but Privacy Mode is opt-in for individuals, prompts may be logged with it off, and Sentry and PostHog 'may be enabled in release builds' (10 of 30). No approval model described in the README (8 of 20). No prompt-injection guidance (5). No audit log found (5). SECURITY.md, CodeQL, Scorecard and secret scanning (14 of 20). 10 + 8 + 5 + 5 + 14 = 42."
        },
        "scores": {
          "a": 60,
          "b": 42
        }
      },
      {
        "by": 14,
        "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. Model switching within an agent, agent-to-agent loops, a CLI and cross-device sync (65)."
        },
        "scores": {
          "a": 79,
          "b": 65
        }
      },
      {
        "by": 11,
        "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). README privacy section and a linked privacy policy (not read) (18 of 30). CHANGELOG.md, no deprecation policy (10). Analytics described as 'may be enabled', with no opt-out given in the README (8 of 20). 30 + 18 + 10 + 8 = 66."
        },
        "scores": {
          "a": 71,
          "b": 60
        }
      },
      {
        "by": 7,
        "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. Builds for macOS, Linux and Windows, and package-manager publishing workflows (20). test.yml, CodeQL, OpenSSF Scorecard and secret scanning 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). CHANGELOG.md (15). Host 1.5.3 (15). 20 + 15 + 0 + 15 + 15 = 65."
        },
        "scores": {
          "a": 72,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Anomaly",
        "b": "Traycer AI",
        "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 Traycer's 57 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, OpenCode or Traycer?"
      },
      {
        "answer": "Yes. OpenCode is open source (MIT). Traycer is open source (MIT).",
        "question": "Are OpenCode and Traycer open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 65",
          "Schema \u0026 documentation, 88 against 65",
          "Agent ergonomics, 79 against 65",
          "Security \u0026 auth, 60 against 42",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 81 against 75",
          "Transparency \u0026 trust, 71 against 60"
        ],
        "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": "Teams who want several coding agents working together with shared context and boards.",
        "slug": "traycer",
        "watchFor": "Privacy Mode is opt-in for individuals; with it off, prompts may be logged"
      }
    ],
    "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"
        }
      ],
      "traycer": 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-traycer.json",
        "title": "Agent Zero vs Traycer",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Aider vs Traycer",
        "url": "https://www.anchorterminal.com/compare/aider-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Amp vs Traycer",
        "url": "https://www.anchorterminal.com/compare/amp-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Antigravity CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Auggie CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "AXLR vs Traycer",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Claude Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Cline vs Traycer",
        "url": "https://www.anchorterminal.com/compare/cline-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Conductor vs Traycer",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Crush vs Traycer",
        "url": "https://www.anchorterminal.com/compare/crush-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Cursor CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "DeepSeek Harness (dsh) vs Traycer",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "dsh-superagent (DeepSeek) vs Traycer",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Devin vs Traycer",
        "url": "https://www.anchorterminal.com/compare/devin-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Droid CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Pi vs Traycer",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Emdash vs Traycer",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Gemini CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "GitHub Copilot CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "goose vs Traycer",
        "url": "https://www.anchorterminal.com/compare/goose-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Harness² vs Traycer",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "HarnessRouter vs Traycer",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Jules vs Traycer",
        "url": "https://www.anchorterminal.com/compare/jules-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Junie CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/junie-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Kilo Code CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Kimi Code CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Kiro CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Letta vs Traycer",
        "url": "https://www.anchorterminal.com/compare/letta-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "mini-swe-agent vs Traycer",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "MiniMax Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Mistral Vibe CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Muse Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "OpenAI Agents API vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "OpenAI Codex vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-traycer"
      },
      {
        "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-t3-code.json",
        "title": "OpenCode vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-t3-code"
      },
      {
        "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-traycer.json",
        "title": "OpenHands vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orca-vs-traycer.json",
        "title": "Orca vs Traycer",
        "url": "https://www.anchorterminal.com/compare/orca-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paseo-vs-traycer.json",
        "title": "Paseo vs Traycer",
        "url": "https://www.anchorterminal.com/compare/paseo-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-traycer.json",
        "title": "Prime Agent vs Traycer",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-traycer.json",
        "title": "Qoder CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-traycer.json",
        "title": "Qwen Code vs Traycer",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-traycer.json",
        "title": "Mirror CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-traycer.json",
        "title": "Rovo Dev CLI vs Traycer",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sculptor-vs-traycer.json",
        "title": "Sculptor vs Traycer",
        "url": "https://www.anchorterminal.com/compare/sculptor-vs-traycer"
      },
      {
        "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/traycer-vs-unstoppable.json",
        "title": "Traycer vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/traycer-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/traycer-vs-verdent.json",
        "title": "Traycer vs Verdent",
        "url": "https://www.anchorterminal.com/compare/traycer-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/traycer-vs-vibe-trading.json",
        "title": "Traycer vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/traycer-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/traycer-vs-warp.json",
        "title": "Traycer vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/traycer-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-traycer.json",
        "title": "Clawboo vs Traycer",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "CLI Manager vs Traycer",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "Harness vs Traycer",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-traycer"
      },
      {
        "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-traycer.json",
        "title": "OpenMausBot vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-traycer.json",
        "title": "Paperclip vs Traycer",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-traycer.json",
        "title": "Parallax vs Traycer",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-traycer"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 7,
        "edge": "opencode",
        "key": "reliability",
        "name": "Reliability",
        "opencode": 72,
        "traycer": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "opencode",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opencode": 88,
        "traycer": 65,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "opencode",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opencode": 79,
        "traycer": 65,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "opencode",
        "key": "security",
        "name": "Security \u0026 auth",
        "opencode": 60,
        "traycer": 42,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "opencode",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opencode": 60,
        "traycer": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "opencode",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opencode": 81,
        "traycer": 75,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "opencode",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opencode": 71,
        "traycer": 60,
        "weight": 7
      }
    ],
    "summary": "OpenCode scores 68.8 (B) on agent readiness against Traycer's 57 (C), and leads in every scored category. 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.",
      "traycer": "An open-source app for running several coding agents together with shared context, agent-to-agent messaging and team boards, on every desktop OS. Privacy Mode is opt-in for individuals, and the README says Sentry and PostHog may be on in release builds."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opencode-vs-traycer",
    "json": "https://www.anchorterminal.com/compare/opencode-vs-traycer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opencode-vs-traycer.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/opencode-vs-traycer.min.md"
  },
  "markdown": "OpenCode scores 68.8 (B) on agent readiness against Traycer's 57 (C), and leads in every scored category. 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- Traycer: grade C, 57/100, rank #811 of 1486. Markdown https://www.anchorterminal.com/tools/traycer.md · JSON https://www.anchorterminal.com/api/v1/tools/traycer.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 65\n- Schema \u0026 documentation, 88 against 65\n- Agent ergonomics, 79 against 65\n- Security \u0026 auth, 60 against 42\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 81 against 75\n- Transparency \u0026 trust, 71 against 60\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### Traycer (C)\n\nGood for: Teams who want several coding agents working together with shared context and boards.\n\nAlso in its favour:\n- No incidents deducted, where OpenCode loses 4 points for them\n\nWatch for: Privacy Mode is opt-in for individuals; with it off, prompts may be logged\n\n\n## Why the edge\n\n### Payments \u0026 pricing: OpenCode +30\n\n- OpenCode (60): No payment protocol (0). Scored on OpenCode Zen and Go. Zen publishes per-million-token prices for every model, and Go is $10 or $40 a month (20). The MIT package and the free Zen models need no card (20). With no key configured it loads the free Zen models with a public key, so an agent can install it and run a task with no signup at all (20).\n- Traycer (30): Scored on the paid option, Traycer's own inference subscription, whose price wasn't read (0 of 20). No protocol (0). Bring-your-own-agent use is free (20). Accounts for sync and teams weren't checked, half (10). 0 + 0 + 20 + 10 = 30.\n\n### Schema \u0026 documentation: OpenCode +23\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- Traycer (65): Harness reading. Mintlify docs, a protocol package and a CLI (65).\n\n### Security \u0026 auth: OpenCode +18\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- Traycer (42): Harness reading. Code is processed in memory and not used for training, but Privacy Mode is opt-in for individuals, prompts may be logged with it off, and Sentry and PostHog 'may be enabled in release builds' (10 of 30). No approval model described in the README (8 of 20). No prompt-injection guidance (5). No audit log found (5). SECURITY.md, CodeQL, Scorecard and secret scanning (14 of 20). 10 + 8 + 5 + 5 + 14 = 42.\n\n### Agent ergonomics: OpenCode +14\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- Traycer (65): Harness reading. Model switching within an agent, agent-to-agent loops, a CLI and cross-device sync (65).\n\n### Transparency \u0026 trust: OpenCode +11\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- Traycer (60): MIT (30). README privacy section and a linked privacy policy (not read) (18 of 30). CHANGELOG.md, no deprecation policy (10). Analytics described as 'may be enabled', with no opt-out given in the README (8 of 20). 30 + 18 + 10 + 8 = 66.\n\n### Reliability: OpenCode +7\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- Traycer (65): Local software. Builds for macOS, Linux and Windows, and package-manager publishing workflows (20). test.yml, CodeQL, OpenSSF Scorecard and secret scanning 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). CHANGELOG.md (15). Host 1.5.3 (15). 20 + 15 + 0 + 15 + 15 = 65.\n\n## Score by category\n\n| Category | Weight | OpenCode | Traycer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 65 | OpenCode +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 65 | OpenCode +23 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 65 | OpenCode +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 42 | OpenCode +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | OpenCode +30 |\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 | 60 | OpenCode +11 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **68.8 · B** | **57 · C** | |\n\n## Facts side by side\n\n| Fact | OpenCode | Traycer |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Anomaly | Traycer AI |\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### Traycer\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**Traycer.** An open-source app for running several coding agents together with shared context, agent-to-agent messaging and team boards, on every desktop OS. Privacy Mode is opt-in for individuals, and the README says Sentry and PostHog may be on in release builds.\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### Traycer\n\n1. Turn on Privacy Mode if you're an individual user and don't want prompts logged\n2. CLI agents you configure send requests straight to their provider; Traycer's own inference goes through Traycer\n\n## Questions\n\n### Which is better for AI agents, OpenCode or Traycer?\n\nOpenCode scores 68.8 (B) on agent readiness against Traycer's 57 (C), and leads in every scored category.\n\n### Are OpenCode and Traycer open source?\n\nYes. OpenCode is open source (MIT). Traycer is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opencode-vs-traycer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opencode-vs-traycer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opencode\", \"b\": \"traycer\"}`. From a terminal: `anchor compare opencode traycer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opencode.json and https://www.anchorterminal.com/api/v1/tools/traycer.json\n\n## Other comparisons with OpenCode or Traycer\n\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Agent Zero vs Traycer](https://www.anchorterminal.com/compare/agent-zero-vs-traycer.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Aider vs Traycer](https://www.anchorterminal.com/compare/aider-vs-traycer.md)\n- [Amp vs OpenCode](https://www.anchorterminal.com/compare/amp-vs-opencode.md)\n- [Amp vs Traycer](https://www.anchorterminal.com/compare/amp-vs-traycer.md)\n- [Antigravity CLI vs OpenCode](https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.md)\n- [Antigravity CLI vs Traycer](https://www.anchorterminal.com/compare/antigravity-cli-vs-traycer.md)\n- [Auggie CLI vs OpenCode](https://www.anchorterminal.com/compare/auggie-vs-opencode.md)\n- [Auggie CLI vs Traycer](https://www.anchorterminal.com/compare/auggie-vs-traycer.md)\n- [AXLR vs OpenCode](https://www.anchorterminal.com/compare/axlr-vs-opencode.md)\n- [AXLR vs Traycer](https://www.anchorterminal.com/compare/axlr-vs-traycer.md)\n- [Claude Code vs OpenCode](https://www.anchorterminal.com/compare/claude-code-vs-opencode.md)\n- [Claude Code vs Traycer](https://www.anchorterminal.com/compare/claude-code-vs-traycer.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Cline vs Traycer](https://www.anchorterminal.com/compare/cline-vs-traycer.md)\n- [Conductor vs OpenCode](https://www.anchorterminal.com/compare/conductor-vs-opencode.md)\n- [Conductor vs Traycer](https://www.anchorterminal.com/compare/conductor-vs-traycer.md)\n- [Crush vs OpenCode](https://www.anchorterminal.com/compare/crush-vs-opencode.md)\n- [Crush vs Traycer](https://www.anchorterminal.com/compare/crush-vs-traycer.md)\n- [Cursor CLI vs OpenCode](https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.md)\n- [Cursor CLI vs Traycer](https://www.anchorterminal.com/compare/cursor-cli-vs-traycer.md)\n- [DeepSeek Harness (dsh) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.md)\n- [DeepSeek Harness (dsh) vs Traycer](https://www.anchorterminal.com/compare/deepseek-harness-vs-traycer.md)\n- [dsh-superagent (DeepSeek) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-superagent-vs-opencode.md)\n- [dsh-superagent (DeepSeek) vs Traycer](https://www.anchorterminal.com/compare/deepseek-superagent-vs-traycer.md)\n- [Devin vs OpenCode](https://www.anchorterminal.com/compare/devin-vs-opencode.md)\n- [Devin vs Traycer](https://www.anchorterminal.com/compare/devin-vs-traycer.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Droid CLI vs Traycer](https://www.anchorterminal.com/compare/droid-cli-vs-traycer.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Pi vs Traycer](https://www.anchorterminal.com/compare/earendil-pi-vs-traycer.md)\n- [Emdash vs OpenCode](https://www.anchorterminal.com/compare/emdash-vs-opencode.md)\n- [Emdash vs Traycer](https://www.anchorterminal.com/compare/emdash-vs-traycer.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [Gemini CLI vs Traycer](https://www.anchorterminal.com/compare/gemini-cli-vs-traycer.md)\n- [GitHub Copilot CLI vs OpenCode](https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.md)\n- [GitHub Copilot CLI vs Traycer](https://www.anchorterminal.com/compare/github-copilot-cli-vs-traycer.md)\n- [goose vs OpenCode](https://www.anchorterminal.com/compare/goose-vs-opencode.md)\n- [goose vs Traycer](https://www.anchorterminal.com/compare/goose-vs-traycer.md)\n- [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [Harness² vs Traycer](https://www.anchorterminal.com/compare/harness2-vs-traycer.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [HarnessRouter vs Traycer](https://www.anchorterminal.com/compare/harnessrouter-vs-traycer.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Jules vs Traycer](https://www.anchorterminal.com/compare/jules-vs-traycer.md)\n- [Junie CLI vs OpenCode](https://www.anchorterminal.com/compare/junie-vs-opencode.md)\n- [Junie CLI vs Traycer](https://www.anchorterminal.com/compare/junie-vs-traycer.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.md)\n- [Kilo Code CLI vs Traycer](https://www.anchorterminal.com/compare/kilo-code-cli-vs-traycer.md)\n- [Kimi Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.md)\n- [Kimi Code CLI vs Traycer](https://www.anchorterminal.com/compare/kimi-code-cli-vs-traycer.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [Kiro CLI vs Traycer](https://www.anchorterminal.com/compare/kiro-cli-vs-traycer.md)\n- [Letta vs OpenCode](https://www.anchorterminal.com/compare/letta-vs-opencode.md)\n- [Letta vs Traycer](https://www.anchorterminal.com/compare/letta-vs-traycer.md)\n- [mini-swe-agent vs OpenCode](https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.md)\n- [mini-swe-agent vs Traycer](https://www.anchorterminal.com/compare/mini-swe-agent-vs-traycer.md)\n- [MiniMax Code vs OpenCode](https://www.anchorterminal.com/compare/minimax-code-vs-opencode.md)\n- [MiniMax Code vs Traycer](https://www.anchorterminal.com/compare/minimax-code-vs-traycer.md)\n- [Mistral Vibe CLI vs OpenCode](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.md)\n- [Mistral Vibe CLI vs Traycer](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-traycer.md)\n- [Muse Code vs OpenCode](https://www.anchorterminal.com/compare/muse-code-vs-opencode.md)\n- [Muse Code vs Traycer](https://www.anchorterminal.com/compare/muse-code-vs-traycer.md)\n- [OpenAI Agents API vs OpenCode](https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.md)\n- [OpenAI Agents API vs Traycer](https://www.anchorterminal.com/compare/openai-agents-api-vs-traycer.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.md)\n- [OpenAI Codex vs Traycer](https://www.anchorterminal.com/compare/openai-codex-vs-traycer.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 T3 Code](https://www.anchorterminal.com/compare/opencode-vs-t3-code.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 Traycer](https://www.anchorterminal.com/compare/openhands-vs-traycer.md)\n- [Orca vs Traycer](https://www.anchorterminal.com/compare/orca-vs-traycer.md)\n- [Paseo vs Traycer](https://www.anchorterminal.com/compare/paseo-vs-traycer.md)\n- [Prime Agent vs Traycer](https://www.anchorterminal.com/compare/prime-agent-vs-traycer.md)\n- [Qoder CLI vs Traycer](https://www.anchorterminal.com/compare/qoder-cli-vs-traycer.md)\n- [Qwen Code vs Traycer](https://www.anchorterminal.com/compare/qwen-code-vs-traycer.md)\n- [Mirror CLI vs Traycer](https://www.anchorterminal.com/compare/reflection-mirror-vs-traycer.md)\n- [Rovo Dev CLI vs Traycer](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-traycer.md)\n- [Sculptor vs Traycer](https://www.anchorterminal.com/compare/sculptor-vs-traycer.md)\n- [T3 Code vs Traycer](https://www.anchorterminal.com/compare/t3-code-vs-traycer.md)\n- [Traycer vs Unstoppable](https://www.anchorterminal.com/compare/traycer-vs-unstoppable.md)\n- [Traycer vs Verdent](https://www.anchorterminal.com/compare/traycer-vs-verdent.md)\n- [Traycer vs Vibe-Trading](https://www.anchorterminal.com/compare/traycer-vs-vibe-trading.md)\n- [Traycer vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/traycer-vs-warp.md)\n- [Clawboo vs OpenCode](https://www.anchorterminal.com/compare/clawboo-vs-opencode.md)\n- [Clawboo vs Traycer](https://www.anchorterminal.com/compare/clawboo-vs-traycer.md)\n- [CLI Manager vs OpenCode](https://www.anchorterminal.com/compare/cli-manager-vs-opencode.md)\n- [CLI Manager vs Traycer](https://www.anchorterminal.com/compare/cli-manager-vs-traycer.md)\n- [Harness vs OpenCode](https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.md)\n- [Harness vs Traycer](https://www.anchorterminal.com/compare/harness-autonomous-vs-traycer.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 Traycer](https://www.anchorterminal.com/compare/openmausbot-vs-traycer.md)\n- [Paperclip vs Traycer](https://www.anchorterminal.com/compare/paperclip-vs-traycer.md)\n- [Parallax vs Traycer](https://www.anchorterminal.com/compare/parallax-agents-vs-traycer.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 Traycer",
        "url": ""
      }
    ],
    "description": "OpenCode scores 68.8 (B) to Traycer's 57 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenCode B 68.8",
      "Traycer C 57",
      "scores"
    ],
    "h1": "OpenCode vs Traycer",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/opencode-vs-traycer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenCode vs Traycer for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/opencode-vs-traycer"
  },
  "tokens": {
    "markdown": 6050,
    "slim": 2580
  },
  "version": 1
}
