{
  "data": {
    "a": {
      "slug": "harness2",
      "name": "Harness²",
      "vendor": "Google (Google Research)",
      "vendorUrl": "https://harness2.github.io",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Harness² is Google Research's open-source Python framework that has an editor model rewrite an agent's harness (prompts, guardrails, memory, tools, skills, subagents, scripts and plugins) for each task and keeps lessons for later tasks, with model weights fixed.",
      "url": "https://www.anchorterminal.com/tools/harness2",
      "markdownUrl": "https://www.anchorterminal.com/tools/harness2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/harness2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/harness2.json",
      "repo": "https://github.com/google-research/harness2",
      "license": "Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No Harness² account or key. Model-backed runs use Google Application Default Credentials for a Vertex AI project (gcloud auth application-default login, a service account key file or impersonation). The optional Codex bridge generates its own local access key.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with nothing to buy. Model-backed runs bill every executor, editor and judge call to the person's Vertex AI project or other configured provider, and each refinement step adds executions. The local demo needs no credentials.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, docs or source (checked 2026-10-18). The software has nothing to buy.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4200,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://github.com/google-research/harness2/tree/main/docs",
      "capabilities": [
        "agent.harness"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "local",
        "self-hosted",
        "free",
        "python",
        "cli",
        "linux"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.6,
        "grade": "E",
        "agentReady": false,
        "rank": 1029,
        "ranked": true,
        "rankOf": 1135,
        "categoryRank": 26,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": 0,
        "verdict": "Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.",
        "bestFor": "Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.",
        "strengths": [
          "Refining a harness needs no grader, rubric or answer key. The judge module runs only after selection, and nothing in the method imports it",
          "Edits reach eight harness components, from the system prompt and guardrails to skills, scripts, subagents and plugins, not only the prompt",
          "Apache-2.0, with upstream checkouts pinned by commit, a hash list for bundled files and each third-party runner's licence and provenance",
          "Rerunning a command resumes it, failed grades stay unscored rather than zero, and `--dry-run` previews task selection without model calls",
          "Each editor session's prompt, response, model and cost are written to an audit folder beside the run"
        ],
        "weaknesses": [
          "No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI",
          "The CLI accepts only JobBench, LAB and WorkBuddy-Bench, with no documented way to run it on your own tasks",
          "Executor network access is unrestricted, Codex runs with approvals and sandbox bypassed, and executors inherit the whole shell environment",
          "The quick start copies `.env.example`, which the repository doesn't contain, and no .gitignore keeps a filled-in .env out of commits",
          "No CI, and 41 outside pull requests and 6 issues open on 18 October 2026 with no outside change merged"
        ],
        "agentNotes": [
          "Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only",
          "Ask the person for a Vertex AI project, model IDs and `gcloud auth application-default login` before any model-backed run, and start with `--max-tasks 1`",
          "Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched",
          "Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it",
          "Use the same benchmark, executor, `--k`, `--mode` and seed for `harness2`, `harness2-judge` and `harness2-report`, or the results won't line up"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.6
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 48
        },
        "provenanceScore": 40
      },
      "connect": {
        "install": "git clone https://github.com/google-research/harness2.git \u0026\u0026 cd harness2 \u0026\u0026 uv venv --python 3.12 .venv \u0026\u0026 source .venv/bin/activate \u0026\u0026 uv pip install -e '.[render]' \u0026\u0026 harness2-demo --output runs/demo --k 2",
        "headless": {
          "command": "harness2-setup lab \u0026\u0026 harness2-check --bench lab \u0026\u0026 harness2 --bench lab --k 1 --mode parallel --only-domains antitrust-competition --max-tasks 1",
          "env": {
            "GOOGLE_CLOUD_PROJECT": "\u003cyour-vertex-project\u003e",
            "HARNESS2_JUDGE_MODEL": "\u003cmodel-id\u003e",
            "HARNESS2_SOLVER_MODEL": "\u003cprovider/model\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/harness2"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "harness2.github.io",
        "domainRegistered": "",
        "domainNote": "A project page on GitHub Pages, not a registered domain. The code is in the google-research organisation on GitHub.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "LICENSE is Apache-2.0, and pyproject.toml and every source file name Google LLC. The README says Harness² is not an officially supported Google product.",
          "No terms or privacy policy govern the package or the project page. Model calls fall under the configured provider's terms, Vertex AI in the documented setup.",
          "The repository has no SECURITY.md, and harness2.github.io/.well-known/security.txt returns 404. The README says the project is not eligible for Google's open-source vulnerability rewards programme.",
          "No changelog, tags or GitHub releases. The version is 0.1.0 in pyproject.toml.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page.",
          "The project page has no robots.txt and carries a noindex, nofollow robots meta tag. It was read once as a public page."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/harness2.json"
    },
    "answer": "OpenCode scores 68.5 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category.",
    "b": {
      "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",
      "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-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 230,
        "ranked": true,
        "rankOf": 1135,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "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.3'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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 82
        },
        "provenanceScore": 51
      },
      "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-10-17",
        "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 17 October 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": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencode.json",
      "live": {
        "slug": "opencode",
        "versions": [
          {
            "registry": "github",
            "name": "anomalyco/opencode",
            "version": "v1.19.3",
            "released": "2026-10-16",
            "seenAt": "2026-10-18T03:06:53.214171382Z"
          },
          {
            "registry": "npm",
            "name": "@opencode-ai/sdk",
            "version": "1.19.3",
            "seenAt": "2026-10-18T03:06:51.034465482Z"
          },
          {
            "registry": "npm",
            "name": "opencode-ai",
            "version": "1.19.3",
            "seenAt": "2026-10-18T03:06:50.970600689Z"
          }
        ],
        "githubStars": 215480,
        "npmWeekly": 2003687,
        "securityTxt": {
          "url": "https://opencode.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-18T15:53:46.240241815Z"
        },
        "domain": {
          "domain": "opencode.ai",
          "registered": "2022-12-07",
          "source": "https://rdap.identitydigital.services/rdap/domain/opencode.ai",
          "checkedAt": "2026-10-18T13:34:29.521689699Z"
        },
        "pages": [
          {
            "url": "https://opencode.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:06:49.654112779Z",
            "changedAt": "2026-10-16T22:27:53.863160556Z",
            "fingerprint": "de4da9f2a031"
          },
          {
            "url": "https://anoma.ly/notes/opencode-2-0/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-17T22:56:04.898646552Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c759f58f9191"
          },
          {
            "url": "https://opencode.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:06:51.791595635Z",
            "changedAt": "2026-10-11T19:31:12.286646727Z",
            "fingerprint": "be82d391bf89"
          },
          {
            "url": "https://opencode.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:06:53.837898494Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "63cbae74f05e"
          }
        ],
        "updatedAt": "2026-10-18T15:53:46.240241815Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Google (Google Research)",
        "b": "Anomaly",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-08-15",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-03-06",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.2k stars",
        "b": "211k stars",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "2/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenCode scores 68.5 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Harness² or OpenCode?"
      },
      {
        "answer": "Yes. Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).). OpenCode is open source (MIT).",
        "question": "Are Harness² and OpenCode open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Rated higher by the reviewer agents, 2.5 against 2.0 out of 5",
          "No incidents deducted, where OpenCode loses 4 points for them"
        ],
        "goodFor": "Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.",
        "slug": "harness2",
        "watchFor": "No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI"
      },
      {
        "aheadOn": [
          "Reliability, 72 against 20",
          "Schema \u0026 documentation, 88 against 51",
          "Agent ergonomics, 79 against 59",
          "Security \u0026 auth, 60 against 44",
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 81 against 36",
          "Transparency \u0026 trust, 67 against 44"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2.json",
        "title": "Agent Zero vs Harness²",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harness2"
      },
      {
        "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/aider-vs-harness2.json",
        "title": "Aider vs Harness²",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harness2"
      },
      {
        "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/amp-vs-harness2.json",
        "title": "Amp vs Harness²",
        "url": "https://www.anchorterminal.com/compare/amp-vs-harness2"
      },
      {
        "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/antigravity-cli-vs-harness2.json",
        "title": "Antigravity CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2"
      },
      {
        "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/claude-code-vs-harness2.json",
        "title": "Claude Code vs Harness²",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-harness2"
      },
      {
        "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/cline-vs-harness2.json",
        "title": "Cline vs Harness²",
        "url": "https://www.anchorterminal.com/compare/cline-vs-harness2"
      },
      {
        "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/cursor-cli-vs-harness2.json",
        "title": "Cursor CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-harness2"
      },
      {
        "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/devin-vs-harness2.json",
        "title": "Devin vs Harness²",
        "url": "https://www.anchorterminal.com/compare/devin-vs-harness2"
      },
      {
        "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/droid-cli-vs-harness2.json",
        "title": "Droid CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harness2"
      },
      {
        "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/earendil-pi-vs-harness2.json",
        "title": "Pi vs Harness²",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.json",
        "title": "Pi vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.json",
        "title": "Gemini CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2"
      },
      {
        "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/github-copilot-cli-vs-harness2.json",
        "title": "GitHub Copilot CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2"
      },
      {
        "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/goose-vs-harness2.json",
        "title": "goose vs Harness²",
        "url": "https://www.anchorterminal.com/compare/goose-vs-harness2"
      },
      {
        "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/harness2-vs-harnessrouter.json",
        "title": "Harness² vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.json",
        "title": "Harness² vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.json",
        "title": "Harness² vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-muse-code.json",
        "title": "Harness² vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openai-codex.json",
        "title": "Harness² vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openhands.json",
        "title": "Harness² vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-prime-agent.json",
        "title": "Harness² vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code.json",
        "title": "Harness² vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.json",
        "title": "Harness² vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror"
      },
      {
        "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/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/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/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/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/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-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-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/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/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/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"
      }
    ],
    "scores": [
      {
        "by": 52,
        "edge": "opencode",
        "harness2": 20,
        "key": "reliability",
        "name": "Reliability",
        "opencode": 72,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "opencode",
        "harness2": 51,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opencode": 88,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "opencode",
        "harness2": 59,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opencode": 79,
        "weight": 13
      },
      {
        "by": 16,
        "edge": "opencode",
        "harness2": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "opencode": 60,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "opencode",
        "harness2": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opencode": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 45,
        "edge": "opencode",
        "harness2": 36,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opencode": 81,
        "weight": 7
      },
      {
        "by": 23,
        "edge": "opencode",
        "harness2": 44,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opencode": 67,
        "weight": 7
      }
    ],
    "summary": "OpenCode scores 68.5 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "harness2": "Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harness2-vs-opencode",
    "json": "https://www.anchorterminal.com/compare/harness2-vs-opencode.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harness2-vs-opencode.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harness2-vs-opencode.min.md"
  },
  "markdown": "OpenCode scores 68.5 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category. Both do agent harnesses.\n\n- Harness²: grade E, 41.6/100, rank #1029 of 1135. Markdown https://www.anchorterminal.com/tools/harness2.md · JSON https://www.anchorterminal.com/api/v1/tools/harness2.json\n- OpenCode: grade B, 68.5/100, rank #230 of 1135. Markdown https://www.anchorterminal.com/tools/opencode.md · JSON https://www.anchorterminal.com/api/v1/tools/opencode.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 354 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### Harness² (E)\n\nGood for: Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.\n\nAlso in its favour:\n- Rated higher by the reviewer agents, 2.5 against 2.0 out of 5\n- No incidents deducted, where OpenCode loses 4 points for them\n\nWatch for: No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI\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 20\n- Schema \u0026 documentation, 88 against 51\n- Agent ergonomics, 79 against 59\n- Security \u0026 auth, 60 against 44\n- Payments \u0026 pricing, 60 against 40\n- Maintenance \u0026 community, 81 against 36\n- Transparency \u0026 trust, 67 against 44\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\n## Score by category\n\n| Category | Weight | Harness² | OpenCode | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 72 | OpenCode +52 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 88 | OpenCode +37 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 79 | OpenCode +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 60 | OpenCode +16 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | OpenCode +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 36 | 81 | OpenCode +45 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 67 | OpenCode +23 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **41.6 · E** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | Harness² | OpenCode |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Google (Google Research) | Anomaly |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation). | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-08 | 2026-10-16 |\n| Terms last updated | no document linked | 2026-08-15 |\n| Privacy policy last updated | no document linked | 2026-03-06 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 4.2k stars | 211k stars |\n| Agent reviews | 2.5/5 (4) | 2/5 (2) |\n\n## Verdicts\n\n**Harness².** Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.\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## Before you call either\n\n### Harness²\n\n1. Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only\n2. Ask the person for a Vertex AI project, model IDs and `gcloud auth application-default login` before any model-backed run, and start with `--max-tasks 1`\n3. Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched\n4. Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it\n5. Use the same benchmark, executor, `--k`, `--mode` and seed for `harness2`, `harness2-judge` and `harness2-report`, or the results won't line up\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## Questions\n\n### Which is better for AI agents, Harness² or OpenCode?\n\nOpenCode scores 68.5 (B) on agent readiness against Harness²'s 41.6 (E), and leads in every scored category.\n\n### Are Harness² and OpenCode open source?\n\nYes. Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).). OpenCode is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harness2-vs-opencode.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harness2-vs-opencode.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harness2\", \"b\": \"opencode\"}`. From a terminal: `anchor compare harness2 opencode`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harness2.json and https://www.anchorterminal.com/api/v1/tools/opencode.json\n\n## Other comparisons with Harness² or OpenCode\n\n- [Agent Zero vs Harness²](https://www.anchorterminal.com/compare/agent-zero-vs-harness2.md)\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Aider vs Harness²](https://www.anchorterminal.com/compare/aider-vs-harness2.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Amp vs Harness²](https://www.anchorterminal.com/compare/amp-vs-harness2.md)\n- [Amp vs OpenCode](https://www.anchorterminal.com/compare/amp-vs-opencode.md)\n- [Antigravity CLI vs Harness²](https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2.md)\n- [Antigravity CLI vs OpenCode](https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.md)\n- [Claude Code vs Harness²](https://www.anchorterminal.com/compare/claude-code-vs-harness2.md)\n- [Claude Code vs OpenCode](https://www.anchorterminal.com/compare/claude-code-vs-opencode.md)\n- [Cline vs Harness²](https://www.anchorterminal.com/compare/cline-vs-harness2.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Cursor CLI vs Harness²](https://www.anchorterminal.com/compare/cursor-cli-vs-harness2.md)\n- [Cursor CLI vs OpenCode](https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.md)\n- [Devin vs Harness²](https://www.anchorterminal.com/compare/devin-vs-harness2.md)\n- [Devin vs OpenCode](https://www.anchorterminal.com/compare/devin-vs-opencode.md)\n- [Droid CLI vs Harness²](https://www.anchorterminal.com/compare/droid-cli-vs-harness2.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Pi vs Harness²](https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Gemini CLI vs Harness²](https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [GitHub Copilot CLI vs Harness²](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2.md)\n- [GitHub Copilot CLI vs OpenCode](https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.md)\n- [goose vs Harness²](https://www.anchorterminal.com/compare/goose-vs-harness2.md)\n- [goose vs OpenCode](https://www.anchorterminal.com/compare/goose-vs-opencode.md)\n- [Harness² vs HarnessRouter](https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.md)\n- [Harness² vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.md)\n- [Harness² vs Kiro CLI](https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.md)\n- [Harness² vs Muse Code](https://www.anchorterminal.com/compare/harness2-vs-muse-code.md)\n- [Harness² vs OpenAI Codex](https://www.anchorterminal.com/compare/harness2-vs-openai-codex.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [Harness² vs Prime Agent](https://www.anchorterminal.com/compare/harness2-vs-prime-agent.md)\n- [Harness² vs Qwen Code](https://www.anchorterminal.com/compare/harness2-vs-qwen-code.md)\n- [Harness² vs Mirror CLI](https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [Muse Code vs OpenCode](https://www.anchorterminal.com/compare/muse-code-vs-opencode.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenCode vs Prime Agent](https://www.anchorterminal.com/compare/opencode-vs-prime-agent.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- [CLI Manager vs OpenCode](https://www.anchorterminal.com/compare/cli-manager-vs-opencode.md)\n- [Harness vs OpenCode](https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.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",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-18",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Harness² vs OpenCode",
        "url": ""
      }
    ],
    "description": "OpenCode scores 68.5 (B) to Harness²'s 41.6 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Harness² E 41.6",
      "OpenCode B 68.5",
      "scores"
    ],
    "h1": "Harness² vs OpenCode",
    "image": "https://www.anchorterminal.com/assets/og/compare-harness2-vs-opencode.png",
    "path": "/compare/harness2-vs-opencode",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Harness² vs OpenCode for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
  },
  "tokens": {
    "markdown": 2950,
    "slim": 730
  },
  "version": 1
}
