{
  "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",
      "dns": "harness2.grade.anchorterminal.com",
      "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": 42,
        "grade": "E",
        "agentReady": false,
        "rank": 1156,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 44,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 49
        },
        "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.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 36,
          "payments": 40,
          "reliability": 20,
          "schema": 51,
          "security": 44,
          "transparency": 48
        },
        "provenanceScore": 50,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-18",
            "maintenance": "2026-10-18",
            "payments": "2026-10-18",
            "reliability": "2026-10-18",
            "schema": "2026-10-18",
            "security": "2026-10-18",
            "transparency": "2026-10-18"
          },
          "last": "2026-10-18",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-18",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/harness2.json",
      "live": {
        "slug": "harness2",
        "githubStars": 22809,
        "securityTxt": {
          "url": "https://harness2.github.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-05T15:56:57.976519304Z"
        },
        "domain": {
          "domain": "github.io",
          "checkedAt": "2026-11-01T14:18:40.30630652Z"
        },
        "github": {
          "repo": "google-research/harness2",
          "checkedAt": "2026-11-02T08:51:52.491406601Z",
          "stars": 21980,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T02:17:27Z",
          "openIssues": 36,
          "openPRs": 103,
          "issuesOpened90d": 41,
          "issuesClosed90d": 5,
          "prsMerged90d": 17,
          "replies": {
            "sampled": 25,
            "unanswered": 23,
            "medianDays": 12.1
          }
        },
        "updatedAt": "2026-11-05T21:36:18.710698651Z"
      }
    },
    "answer": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Harness²'s 42 (E), and leads in 6 of 7 scored categories. Harness² leads on payments \u0026 pricing.",
    "b": {
      "slug": "openai-agents-api",
      "name": "OpenAI Agents API",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com/index/introducing-the-agents-api/",
      "kind": "http-api",
      "category": "agent-harnesses",
      "summary": "The OpenAI Agents API runs OpenAI's managed Codex harness as a hosted service. One call creates a session with a model, tools, MCP servers, subagents and an OpenAI-hosted or self-hosted sandbox, and OpenAI runs the loop.",
      "url": "https://www.anchorterminal.com/tools/openai-agents-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-agents-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-agents-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json",
      "dns": "openai-agents-api.grade.anchorterminal.com",
      "license": "Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0",
      "transports": [
        "https"
      ],
      "remoteUrl": "https://api.openai.com/v1/agents/sessions",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "An OpenAI project API key as a Bearer token, with the header `OpenAI-Beta: agents=v1`. Project keys can be restricted per endpoint or read-only, and service accounts and workload identity federation are available, per the openai-api listing. Signing up and creating a key need a person in a browser.",
      "pricing": "usage",
      "pricingNotes": "No fee for the API itself. Model tokens are billed at the chosen model's API rates, OpenAI tools at their built-in rates (web search $10.00 per 1,000 calls plus content tokens), and OpenAI-hosted sandboxes at container rates, $0.03 for 1 GB, $0.12 for 4 GB, $0.48 for 16 GB and $1.92 for 64 GB per 20-minute session, billed by the minute with a 5-minute minimum. Since 9 October sandbox compute is billed only during active turns (checked 2026-11-06).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Agents API guides or on OpenAI's pricing page; billing is to an OpenAI account (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.openai.com/api/docs/guides/agents-api/overview",
      "llmsTxt": "https://developers.openai.com/api/docs/llms.txt",
      "capabilities": [
        "agent.harness"
      ],
      "tags": [
        "official",
        "hosted",
        "beta",
        "usage-priced",
        "llms-txt",
        "status-page",
        "mcp-client",
        "sandbox",
        "subagents",
        "webhooks",
        "soc2",
        "iso27001",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 99,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 30,
          "reliability": 60,
          "schema": 88,
          "security": 87,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.",
        "bestFor": "Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.",
        "strengths": [
          "One session call configures the model, tools, MCP servers, subagents and the sandbox, and OpenAI runs and recovers the loop",
          "Sandboxes on OpenAI or self-hosted, with guides for ten providers including E2B, Daytona, Modal, Cloudflare and Vercel",
          "An errors guide with codes per status and turn, Retry-After and a check-before-retry procedure",
          "Webhooks, streamed events, tracing and usage views for each session",
          "SDK examples in Python, JavaScript, Go, Java and Ruby",
          "Status page with its own Agents component"
        ],
        "weaknesses": [
          "Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date",
          "Not eligible for Zero Data Retention, and data residency is United States only",
          "No idempotency key for session or turn requests; retries depend on checking state first",
          "One API-wide major outage on 29 September included it, plus several smaller incidents since release",
          "No retention period stated for published artifacts after a sandbox expires"
        ],
        "agentNotes": [
          "POST https://api.openai.com/v1/agents/sessions with a project key and the header OpenAI-Beta: agents=v1, or use client.beta.agents in the SDKs",
          "Before retrying, retrieve the session and turn and check which actions completed, since there's no idempotency key",
          "Set the sandbox network to restricted with an allowlist of up to 100 hosts when the agent doesn't need the open web",
          "Save files from /workspace/outputs before deleting a session; no retention period is stated for artifacts",
          "Don't send data that needs Zero Data Retention or non-US residency; the Agents API supports neither"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.3
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 30,
          "reliability": 60,
          "schema": 88,
          "security": 87,
          "transparency": 75
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.openai.com/v1/agents/sessions \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -H \"OpenAI-Beta: agents=v1\" \\\n  -H \"Content-Type: application/json\" \\\n  -d @session.json   # model, tools, environment and input, per the quickstart"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openai-agents-api"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-speech-to-text",
        "gpt-live",
        "openai-realtime",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "openai.com was registered in 2007, before OpenAI existed, per the openai-api listing.",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The endpoint is on api.openai.com, the same host as the rest of the OpenAI API. Terms, privacy, security.txt and the domain are the openai-api listing's readings."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-agents-api.json",
      "live": {
        "slug": "openai-agents-api",
        "probe": {
          "target": "https://api.openai.com/v1/agents/sessions",
          "method": "get",
          "lastAt": "2026-11-06T09:47:41.371658489Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 162,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 166,
          "samples24h": 47,
          "samples30d": 47,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-06T09:43:26.425829944Z"
        },
        "updatedAt": "2026-11-06T09:47:41.371658489Z"
      }
    },
    "edges": [
      {
        "by": 51,
        "category": "maintenance",
        "leads": "openai-agents-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "0.1.0, first committed on 8 October 2026, with a README fix on 13 October (30). No tags, releases or dated changelog entries (0). 42 pull requests (41 from outside contributors, one from Dependabot) and 6 issues open on 18 October, against one pull request and no issues closed. No outside change is on main, which has three commits by the authors, and reply times couldn't be read (3 of 25). Not on PyPI and no SDK (0). No CI. Dependencies are pinned by version and upstream checkouts by commit, a ruff configuration is in pyproject.toml, and Dependabot's litellm bump of 8 October is still open (3 of 10). 36 in all.",
          "b": "Closed API. Last dated change 16 October 2026, Ultrafast mode and document skills (30). Four dated changelog entries in the 57 days since release, 10 September, 29 September, 9 October and 16 October (20). Changelog and help centre, as the openai-api listing reads them (12 of 15). Official SDKs carry beta.agents (15). SDK CI, per the openai-api listing (10). 30 + 20 + 12 + 15 + 10 = 87."
        },
        "scores": {
          "a": 36,
          "b": 87
        }
      },
      {
        "by": 43,
        "category": "security",
        "leads": "openai-agents-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default and credentials, 20 for approvals and sandboxing, 15 for prompt-injection posture and network egress, 15 for audit and 20 for the security programme. No telemetry found in the Harness² source, and the WorkBuddy OpenCode configs turn OpenCode's telemetry, auto-update and sharing off. Credentials are Google Application Default Credentials, and the Codex bridge binds 127.0.0.1 by default with a generated key stored with mode 0600. Against that, executors inherit the whole shell environment (the editor channel drops only five Anthropic variables), and no .gitignore keeps a filled-in .env out of commits (20). Codex runs with `--dangerously-bypass-approvals-and-sandbox`, the Claude CLI editor channel with `--dangerously-skip-permissions`, and the WorkBuddy OpenCode preset allows every tool, with only OpenCode's directory fence and WorkBuddy's containers as limits. The README and setup guide say so (4). Executor network access is unrestricted by default. The docs name the hosts to block and report a Codex rollout that fetched its rubric unprompted, but give no guidance on instructions inside task documents (5). Each editor call's prompt, system text, response, model and cost are saved to an audit folder, with trajectories and adopted harnesses under runs/ (13). No SECURITY.md or security.txt and no advisories, and the README says the project is outside Google's open-source vulnerability rewards programme (2). 44 in all.",
          "b": "Project keys with restricted per-endpoint permissions, service accounts and workload identity, per the openai-api listing; we didn't confirm a key can be limited to /v1/agents (27 of 30). Automatic review for approvals, a sandbox network restricted to a host allowlist, vaults for secrets and a sandbox security guide (17 of 20). The agent reads web pages, MCP results and browser content; the sandbox security guide and approval flow are the mitigations, with no prompt-injection guide of its own found (8 of 15). Tracing, observability and usage per session and admin audit logs (15). SOC 2 Type 2, ISO 27001 family, Bugcrowd bounty and a disclosure policy, per the openai-api listing (20). Not ZDR-eligible and US residency only, recorded under transparency. 27 + 17 + 8 + 15 + 20 = 87."
        },
        "scores": {
          "a": 44,
          "b": 87
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "openai-agents-api",
        "name": "Reliability",
        "reasons": {
          "a": "Local-package reading. Not on PyPI (the release feed for harness2 answers 404). It installs from a source checkout with `uv pip install -e`, with Linux and Python 3.12 stated (the package allows 3.13), plus Node.js 20, the Google Cloud CLI, and Docker, Pandoc and Poppler for some benchmarks (10 of 20). No CI workflow in the repository. tests/test_workflow.py holds five unit tests over the deterministic demo, which needs no credentials (5 of 25). Six issues and 42 pull requests were open on 18 October, the pull requests mostly fixes by their titles, such as the missing .env.example, report failures, seeds lost between refinement and grading, and resume. None is merged and no issue is closed. Issue text and replies couldn't be read (5 of 25). No tags or changelog (0). Version 0.1.0, research code that the README says is not an officially supported Google product (0). 20 in all.",
          "b": "Read as a hosted API. status.openai.com has an Agents component under APIs (20). Since release on 10 September (57 days, not 90), the feed names the Agents API in a degraded-performance incident on 14 September, the elevated errors across ChatGPT, Codex and the API on 29 September (the openai-api listing reads that one as a major, 17:52 to 23:14 UTC), computer use issues and degraded workspace agents on 6 and 7 October, degraded performance across the APIs for 22 minutes on 21 October, and overbilling for hosted containers on 19 September. One major, the rest minor (10). Rate limits come from the shared guide, published per tier and model with headers, and the errors page adds a Files API allowance on session creation (15). 429 and 503 guidance with Retry-After, capped backoff and a check-then-retry procedure for turns (15). The Scale Tier SLA in the openai-api listing isn't shown to cover a beta API (0). Public beta behind the agents=v1 header (0). 20 + 10 + 15 + 15 + 0 + 0 = 60."
        },
        "scores": {
          "a": 20,
          "b": 60
        }
      },
      {
        "by": 37,
        "category": "schema",
        "leads": "openai-agents-api",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Framework reading. Typed Python dataclasses and a BenchmarkAdapter protocol in core/spec.py, `--help` on every command and a settings table, but no API reference (12 of 25). Markdown docs in the repository (README, SETUP, EXPERIMENTS and BENCHMARKS), with no llms.txt (5 of 10). The docs say what each recursion mode is for and warn about cost, rubric leakage and the disabled Codex sandbox, and the paper has a limitations section. Nothing says how to use it outside the three benchmarks (13 of 20). `--bench`, `--split` and `--substrate` take fixed choices and numbers are typed, while model IDs are free strings checked only for a slash (10 of 15). Every command has a worked example and ConfigError messages name the fix, but the quick start's `cp .env.example .env` fails because the file isn't shipped (8 of 15). Version 0.1.0 with no changelog (3 of 15). 51 in all.",
          "b": "The reference is linked from the overview and the SDKs carry beta.agents types; we didn't confirm /agents/sessions in OpenAI's public OpenAPI file, so 15 of 25. llms.txt with every Agents API page and Markdown twins (10). The overview, architecture page and the agents guide that compares the Agents API, Agents SDK and Responses API say when to use it (20). Typed configuration with enumerated container sizes, network modes and environment types (13 of 15). Examples in six languages and an errors page with codes per HTTP status, turn and session (15). Dated changelog entries and a versioned beta header (15). 15 + 10 + 20 + 13 + 15 + 15 = 88."
        },
        "scores": {
          "a": 51,
          "b": 88
        }
      },
      {
        "by": 36,
        "category": "transparency",
        "leads": "openai-agents-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 under Google LLC, with each bundled runner's licence and provenance file and a hash list. The WorkBuddy runners carry Tencent's custom licence, which has an EU territorial limitation (26 of 30). The docs list every host setup contacts and say credentials, generated configuration and run artefacts are not release assets. No privacy statement covers the package, and task data goes to the configured model provider (12 of 30). No deprecation policy or notices for the 0.1.0 research release (0). No telemetry found in the source, and the docs don't say either way. OpenCode's telemetry is turned off only in the WorkBuddy configs (10 of 20). 48 in all.",
          "b": "Closed service with clear terms, Apache-2.0 SDKs (15). Session state retained until deleted, deletable sessions and artifacts, not ZDR-eligible, US residency only, and the data-controls guide agrees; no retention period for artifacts after a sandbox expires (25 of 30). Dated deprecation notices with minimum periods for GA models; a beta API can change faster (15 of 20). Subprocessors and processing countries listed, per the openai-api listing (20). 15 + 25 + 15 + 20 = 75."
        },
        "scores": {
          "a": 49,
          "b": 85
        }
      },
      {
        "by": 21,
        "category": "ergonomics",
        "leads": "openai-agents-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Framework reading, adapted to a harness that a pipeline drives. Results land in run folders, not in the caller's context, and an agent reads task summaries, adopted harnesses and reflection notes from runs/ (12 of 25). `--only-domains`, `--max-tasks` (per domain), `--split-file`, `--workers` and `--dry-run` size a run before any model call (14 of 20). harness2-check tests dependencies, credentials and configuration without a model call, configuration errors name the remedy, and incomplete runs exit nonzero (14 of 20). Rerunning a command resumes it, saved configuration refuses an incompatible resume, failed grades stay unscored, and editor replies are cached by a fingerprint of their inputs (15 of 20). No model has a default, a Vertex AI project and a gcloud sign-in are needed, only three benchmarks are accepted and there's no SDK (4 of 15). 59 in all.",
          "b": "Read as an API an agent drives. Context is compacted automatically, and session budgets and streamed events keep output sized (20 of 25). Sessions can be listed, continued and steered, events streamed or sent by webhook, artifacts fetched (15 of 20). Actionable error codes with recovery steps (20). No idempotency key; a documented check-then-retry procedure (10 of 20). One session call with defaults (medium sandbox, network enabled), SDKs in five languages (15). 20 + 15 + 20 + 10 + 15 = 80."
        },
        "scores": {
          "a": 59,
          "b": 80
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Google (Google Research)",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.openai.com/v1/agents/sessions",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "https",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "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": "Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.2k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Harness²'s 42 (E), and leads in 6 of 7 scored categories. Harness² leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Harness² or OpenAI Agents API?"
      },
      {
        "answer": "No hosted endpoint is listed for Harness². OpenAI Agents API has a hosted endpoint at https://api.openai.com/v1/agents/sessions.",
        "question": "Can an agent call Harness² and OpenAI Agents API without installing anything?"
      },
      {
        "answer": "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).). No open-source release is listed for OpenAI Agents API.",
        "question": "Are Harness² and OpenAI Agents API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "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, 60 against 20",
          "Schema \u0026 documentation, 88 against 51",
          "Agent ergonomics, 80 against 59",
          "Security \u0026 auth, 87 against 44",
          "Maintenance \u0026 community, 87 against 36",
          "Transparency \u0026 trust, 85 against 49"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.",
        "slug": "openai-agents-api",
        "watchFor": "Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date"
      }
    ],
    "history": {
      "harness2": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.4,
          "from": 41.6,
          "fromGrade": "E",
          "to": 42,
          "toGrade": "E"
        }
      ],
      "openai-agents-api": null
    },
    "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-openai-agents-api.json",
        "title": "Agent Zero vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Aider vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Amp vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Antigravity CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-harness2.json",
        "title": "Auggie CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api.json",
        "title": "Auggie CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-harness2.json",
        "title": "AXLR vs Harness²",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api.json",
        "title": "AXLR vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Claude Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Cline vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-harness2.json",
        "title": "Crush vs Harness²",
        "url": "https://www.anchorterminal.com/compare/crush-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.json",
        "title": "Crush vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Cursor CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.json",
        "title": "DeepSeek Harness (dsh) vs Harness²",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api.json",
        "title": "DeepSeek Harness (dsh) vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-harness2.json",
        "title": "dsh-superagent (DeepSeek) vs Harness²",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api.json",
        "title": "dsh-superagent (DeepSeek) vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Devin vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Droid CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Pi vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "Gemini CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "GitHub Copilot CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-agents-api"
      },
      {
        "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-openai-agents-api.json",
        "title": "goose vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openai-agents-api"
      },
      {
        "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-jules.json",
        "title": "Harness² vs Jules",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-junie.json",
        "title": "Harness² vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-junie"
      },
      {
        "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-kimi-code-cli.json",
        "title": "Harness² vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-kimi-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-mini-swe-agent.json",
        "title": "Harness² vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-minimax-code.json",
        "title": "Harness² vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-cli.json",
        "title": "Harness² vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-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-opencode.json",
        "title": "Harness² vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
      },
      {
        "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-openmausbot.json",
        "title": "Harness² vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openmausbot"
      },
      {
        "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-qoder-cli.json",
        "title": "Harness² vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-qoder-cli"
      },
      {
        "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/harness2-vs-rovo-dev-cli.json",
        "title": "Harness² vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-unstoppable.json",
        "title": "Harness² vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.json",
        "title": "Harness² vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-warp.json",
        "title": "Harness² vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api.json",
        "title": "HarnessRouter vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openai-agents-api.json",
        "title": "Jules vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-agents-api.json",
        "title": "Junie CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api.json",
        "title": "Kilo Code CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api.json",
        "title": "Kimi Code CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.json",
        "title": "Kiro CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api.json",
        "title": "mini-swe-agent vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api.json",
        "title": "MiniMax Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.json",
        "title": "Mistral Vibe CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api.json",
        "title": "Muse Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex.json",
        "title": "OpenAI Agents API vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex"
      },
      {
        "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-openhands.json",
        "title": "OpenAI Agents API vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.json",
        "title": "OpenAI Agents API vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent.json",
        "title": "OpenAI Agents API vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli.json",
        "title": "OpenAI Agents API vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.json",
        "title": "OpenAI Agents API vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.json",
        "title": "OpenAI Agents API vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli.json",
        "title": "OpenAI Agents API vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable.json",
        "title": "OpenAI Agents API vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading.json",
        "title": "OpenAI Agents API vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-warp.json",
        "title": "OpenAI Agents API vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-warp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 40,
        "edge": "openai-agents-api",
        "harness2": 20,
        "key": "reliability",
        "name": "Reliability",
        "openai-agents-api": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "openai-agents-api",
        "harness2": 51,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-agents-api": 88,
        "weight": 13
      },
      {
        "by": 21,
        "edge": "openai-agents-api",
        "harness2": 59,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-agents-api": 80,
        "weight": 13
      },
      {
        "by": 43,
        "edge": "openai-agents-api",
        "harness2": 44,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-agents-api": 87,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "harness2",
        "harness2": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-agents-api": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 51,
        "edge": "openai-agents-api",
        "harness2": 36,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-agents-api": 87,
        "weight": 7
      },
      {
        "by": 36,
        "edge": "openai-agents-api",
        "harness2": 49,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-agents-api": 85,
        "weight": 7
      }
    ],
    "summary": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Harness²'s 42 (E), and leads in 6 of 7 scored categories. Harness² leads on payments \u0026 pricing. Both do agent harnesses.",
    "tasks": null,
    "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.",
      "openai-agents-api": "OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api",
    "json": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.min.md"
  },
  "markdown": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Harness²'s 42 (E), and leads in 6 of 7 scored categories. Harness² leads on payments \u0026 pricing. Both do agent harnesses.\n\n- Harness²: grade E, 42/100, rank #1156 of 1354. Markdown https://www.anchorterminal.com/tools/harness2.md · JSON https://www.anchorterminal.com/api/v1/tools/harness2.json\n- OpenAI Agents API: grade BB, 73.3/100, rank #99 of 1354. Markdown https://www.anchorterminal.com/tools/openai-agents-api.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1041 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\nAhead on:\n- Payments \u0026 pricing, 40 against 30\n\nAlso in its favour:\n- No key needed to call it\n- Open source\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### OpenAI Agents API (BB)\n\nGood for: Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.\n\nAhead on:\n- Reliability, 60 against 20\n- Schema \u0026 documentation, 88 against 51\n- Agent ergonomics, 80 against 59\n- Security \u0026 auth, 87 against 44\n- Maintenance \u0026 community, 87 against 36\n- Transparency \u0026 trust, 85 against 49\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n\nWatch for: Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date\n\n\n## Why the edge\n\n### Maintenance \u0026 community: OpenAI Agents API +51\n\n- Harness² (36): 0.1.0, first committed on 8 October 2026, with a README fix on 13 October (30). No tags, releases or dated changelog entries (0). 42 pull requests (41 from outside contributors, one from Dependabot) and 6 issues open on 18 October, against one pull request and no issues closed. No outside change is on main, which has three commits by the authors, and reply times couldn't be read (3 of 25). Not on PyPI and no SDK (0). No CI. Dependencies are pinned by version and upstream checkouts by commit, a ruff configuration is in pyproject.toml, and Dependabot's litellm bump of 8 October is still open (3 of 10). 36 in all.\n- OpenAI Agents API (87): Closed API. Last dated change 16 October 2026, Ultrafast mode and document skills (30). Four dated changelog entries in the 57 days since release, 10 September, 29 September, 9 October and 16 October (20). Changelog and help centre, as the openai-api listing reads them (12 of 15). Official SDKs carry beta.agents (15). SDK CI, per the openai-api listing (10). 30 + 20 + 12 + 15 + 10 = 87.\n\n### Security \u0026 auth: OpenAI Agents API +43\n\n- Harness² (44): Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default and credentials, 20 for approvals and sandboxing, 15 for prompt-injection posture and network egress, 15 for audit and 20 for the security programme. No telemetry found in the Harness² source, and the WorkBuddy OpenCode configs turn OpenCode's telemetry, auto-update and sharing off. Credentials are Google Application Default Credentials, and the Codex bridge binds 127.0.0.1 by default with a generated key stored with mode 0600. Against that, executors inherit the whole shell environment (the editor channel drops only five Anthropic variables), and no .gitignore keeps a filled-in .env out of commits (20). Codex runs with `--dangerously-bypass-approvals-and-sandbox`, the Claude CLI editor channel with `--dangerously-skip-permissions`, and the WorkBuddy OpenCode preset allows every tool, with only OpenCode's directory fence and WorkBuddy's containers as limits. The README and setup guide say so (4). Executor network access is unrestricted by default. The docs name the hosts to block and report a Codex rollout that fetched its rubric unprompted, but give no guidance on instructions inside task documents (5). Each editor call's prompt, system text, response, model and cost are saved to an audit folder, with trajectories and adopted harnesses under runs/ (13). No SECURITY.md or security.txt and no advisories, and the README says the project is outside Google's open-source vulnerability rewards programme (2). 44 in all.\n- OpenAI Agents API (87): Project keys with restricted per-endpoint permissions, service accounts and workload identity, per the openai-api listing; we didn't confirm a key can be limited to /v1/agents (27 of 30). Automatic review for approvals, a sandbox network restricted to a host allowlist, vaults for secrets and a sandbox security guide (17 of 20). The agent reads web pages, MCP results and browser content; the sandbox security guide and approval flow are the mitigations, with no prompt-injection guide of its own found (8 of 15). Tracing, observability and usage per session and admin audit logs (15). SOC 2 Type 2, ISO 27001 family, Bugcrowd bounty and a disclosure policy, per the openai-api listing (20). Not ZDR-eligible and US residency only, recorded under transparency. 27 + 17 + 8 + 15 + 20 = 87.\n\n### Reliability: OpenAI Agents API +40\n\n- Harness² (20): Local-package reading. Not on PyPI (the release feed for harness2 answers 404). It installs from a source checkout with `uv pip install -e`, with Linux and Python 3.12 stated (the package allows 3.13), plus Node.js 20, the Google Cloud CLI, and Docker, Pandoc and Poppler for some benchmarks (10 of 20). No CI workflow in the repository. tests/test_workflow.py holds five unit tests over the deterministic demo, which needs no credentials (5 of 25). Six issues and 42 pull requests were open on 18 October, the pull requests mostly fixes by their titles, such as the missing .env.example, report failures, seeds lost between refinement and grading, and resume. None is merged and no issue is closed. Issue text and replies couldn't be read (5 of 25). No tags or changelog (0). Version 0.1.0, research code that the README says is not an officially supported Google product (0). 20 in all.\n- OpenAI Agents API (60): Read as a hosted API. status.openai.com has an Agents component under APIs (20). Since release on 10 September (57 days, not 90), the feed names the Agents API in a degraded-performance incident on 14 September, the elevated errors across ChatGPT, Codex and the API on 29 September (the openai-api listing reads that one as a major, 17:52 to 23:14 UTC), computer use issues and degraded workspace agents on 6 and 7 October, degraded performance across the APIs for 22 minutes on 21 October, and overbilling for hosted containers on 19 September. One major, the rest minor (10). Rate limits come from the shared guide, published per tier and model with headers, and the errors page adds a Files API allowance on session creation (15). 429 and 503 guidance with Retry-After, capped backoff and a check-then-retry procedure for turns (15). The Scale Tier SLA in the openai-api listing isn't shown to cover a beta API (0). Public beta behind the agents=v1 header (0). 20 + 10 + 15 + 15 + 0 + 0 = 60.\n\n### Schema \u0026 documentation: OpenAI Agents API +37\n\n- Harness² (51): Framework reading. Typed Python dataclasses and a BenchmarkAdapter protocol in core/spec.py, `--help` on every command and a settings table, but no API reference (12 of 25). Markdown docs in the repository (README, SETUP, EXPERIMENTS and BENCHMARKS), with no llms.txt (5 of 10). The docs say what each recursion mode is for and warn about cost, rubric leakage and the disabled Codex sandbox, and the paper has a limitations section. Nothing says how to use it outside the three benchmarks (13 of 20). `--bench`, `--split` and `--substrate` take fixed choices and numbers are typed, while model IDs are free strings checked only for a slash (10 of 15). Every command has a worked example and ConfigError messages name the fix, but the quick start's `cp .env.example .env` fails because the file isn't shipped (8 of 15). Version 0.1.0 with no changelog (3 of 15). 51 in all.\n- OpenAI Agents API (88): The reference is linked from the overview and the SDKs carry beta.agents types; we didn't confirm /agents/sessions in OpenAI's public OpenAPI file, so 15 of 25. llms.txt with every Agents API page and Markdown twins (10). The overview, architecture page and the agents guide that compares the Agents API, Agents SDK and Responses API say when to use it (20). Typed configuration with enumerated container sizes, network modes and environment types (13 of 15). Examples in six languages and an errors page with codes per HTTP status, turn and session (15). Dated changelog entries and a versioned beta header (15). 15 + 10 + 20 + 13 + 15 + 15 = 88.\n\n### Transparency \u0026 trust: OpenAI Agents API +36\n\n- Harness² (49): Apache-2.0 under Google LLC, with each bundled runner's licence and provenance file and a hash list. The WorkBuddy runners carry Tencent's custom licence, which has an EU territorial limitation (26 of 30). The docs list every host setup contacts and say credentials, generated configuration and run artefacts are not release assets. No privacy statement covers the package, and task data goes to the configured model provider (12 of 30). No deprecation policy or notices for the 0.1.0 research release (0). No telemetry found in the source, and the docs don't say either way. OpenCode's telemetry is turned off only in the WorkBuddy configs (10 of 20). 48 in all.\n- OpenAI Agents API (85): Closed service with clear terms, Apache-2.0 SDKs (15). Session state retained until deleted, deletable sessions and artifacts, not ZDR-eligible, US residency only, and the data-controls guide agrees; no retention period for artifacts after a sandbox expires (25 of 30). Dated deprecation notices with minimum periods for GA models; a beta API can change faster (15 of 20). Subprocessors and processing countries listed, per the openai-api listing (20). 15 + 25 + 15 + 20 = 75.\n\n### Agent ergonomics: OpenAI Agents API +21\n\n- Harness² (59): Framework reading, adapted to a harness that a pipeline drives. Results land in run folders, not in the caller's context, and an agent reads task summaries, adopted harnesses and reflection notes from runs/ (12 of 25). `--only-domains`, `--max-tasks` (per domain), `--split-file`, `--workers` and `--dry-run` size a run before any model call (14 of 20). harness2-check tests dependencies, credentials and configuration without a model call, configuration errors name the remedy, and incomplete runs exit nonzero (14 of 20). Rerunning a command resumes it, saved configuration refuses an incompatible resume, failed grades stay unscored, and editor replies are cached by a fingerprint of their inputs (15 of 20). No model has a default, a Vertex AI project and a gcloud sign-in are needed, only three benchmarks are accepted and there's no SDK (4 of 15). 59 in all.\n- OpenAI Agents API (80): Read as an API an agent drives. Context is compacted automatically, and session budgets and streamed events keep output sized (20 of 25). Sessions can be listed, continued and steered, events streamed or sent by webhook, artifacts fetched (15 of 20). Actionable error codes with recovery steps (20). No idempotency key; a documented check-then-retry procedure (10 of 20). One session call with defaults (medium sandbox, network enabled), SDKs in five languages (15). 20 + 15 + 20 + 10 + 15 = 80.\n\n## Score by category\n\n| Category | Weight | Harness² | OpenAI Agents API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 60 | OpenAI Agents API +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 88 | OpenAI Agents API +37 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 80 | OpenAI Agents API +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 87 | OpenAI Agents API +43 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Harness² +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 36 | 87 | OpenAI Agents API +51 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 85 | OpenAI Agents API +36 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42 · E** | **73.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Harness² | OpenAI Agents API |\n| --- | --- | --- |\n| Kind | Agent harness | HTTP API |\n| Vendor | Google (Google Research) | OpenAI |\n| Hosted endpoint | no (local only) | `https://api.openai.com/v1/agents/sessions` |\n| Transports |  | https |\n| Auth | None | API key |\n| Pricing | Free | Pay per use |\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). | Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-08 | 2026-10-16 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | 4.2k stars | none |\n| Agent reviews | 2.5/5 (4) | none |\n\n## How the scores have moved\n\n### Harness²\n\n- +0.4 on 27 October 2026: checklist\n\n### OpenAI Agents API\n\nNo score change since it was listed.\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**OpenAI Agents API.** OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.\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### OpenAI Agents API\n\n1. POST https://api.openai.com/v1/agents/sessions with a project key and the header OpenAI-Beta: agents=v1, or use client.beta.agents in the SDKs\n2. Before retrying, retrieve the session and turn and check which actions completed, since there's no idempotency key\n3. Set the sandbox network to restricted with an allowlist of up to 100 hosts when the agent doesn't need the open web\n4. Save files from /workspace/outputs before deleting a session; no retention period is stated for artifacts\n5. Don't send data that needs Zero Data Retention or non-US residency; the Agents API supports neither\n\n## Questions\n\n### Which is better for AI agents, Harness² or OpenAI Agents API?\n\nOpenAI Agents API scores 73.3 (BB) on agent readiness against Harness²'s 42 (E), and leads in 6 of 7 scored categories. Harness² leads on payments \u0026 pricing.\n\n### Can an agent call Harness² and OpenAI Agents API without installing anything?\n\nNo hosted endpoint is listed for Harness². OpenAI Agents API has a hosted endpoint at https://api.openai.com/v1/agents/sessions.\n\n### Are Harness² and OpenAI Agents API open source?\n\nHarness² 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).). No open-source release is listed for OpenAI Agents API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harness2\", \"b\": \"openai-agents-api\"}`. From a terminal: `anchor compare harness2 openai-agents-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harness2.json and https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json\n\n## Other comparisons with Harness² or OpenAI Agents API\n\n- [Agent Zero vs Harness²](https://www.anchorterminal.com/compare/agent-zero-vs-harness2.md)\n- [Agent Zero vs OpenAI Agents API](https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api.md)\n- [Aider vs Harness²](https://www.anchorterminal.com/compare/aider-vs-harness2.md)\n- [Aider vs OpenAI Agents API](https://www.anchorterminal.com/compare/aider-vs-openai-agents-api.md)\n- [Amp vs Harness²](https://www.anchorterminal.com/compare/amp-vs-harness2.md)\n- [Amp vs OpenAI Agents API](https://www.anchorterminal.com/compare/amp-vs-openai-agents-api.md)\n- [Antigravity CLI vs Harness²](https://www.anchorterminal.com/compare/antigravity-cli-vs-harness2.md)\n- [Antigravity CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-agents-api.md)\n- [Auggie CLI vs Harness²](https://www.anchorterminal.com/compare/auggie-vs-harness2.md)\n- [Auggie CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api.md)\n- [AXLR vs Harness²](https://www.anchorterminal.com/compare/axlr-vs-harness2.md)\n- [AXLR vs OpenAI Agents API](https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api.md)\n- [Claude Code vs Harness²](https://www.anchorterminal.com/compare/claude-code-vs-harness2.md)\n- [Claude Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/claude-code-vs-openai-agents-api.md)\n- [Cline vs Harness²](https://www.anchorterminal.com/compare/cline-vs-harness2.md)\n- [Cline vs OpenAI Agents API](https://www.anchorterminal.com/compare/cline-vs-openai-agents-api.md)\n- [Crush vs Harness²](https://www.anchorterminal.com/compare/crush-vs-harness2.md)\n- [Crush vs OpenAI Agents API](https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.md)\n- [Cursor CLI vs Harness²](https://www.anchorterminal.com/compare/cursor-cli-vs-harness2.md)\n- [Cursor CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/cursor-cli-vs-openai-agents-api.md)\n- [DeepSeek Harness (dsh) vs Harness²](https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.md)\n- [DeepSeek Harness (dsh) vs OpenAI Agents API](https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api.md)\n- [dsh-superagent (DeepSeek) vs Harness²](https://www.anchorterminal.com/compare/deepseek-superagent-vs-harness2.md)\n- [dsh-superagent (DeepSeek) vs OpenAI Agents API](https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api.md)\n- [Devin vs Harness²](https://www.anchorterminal.com/compare/devin-vs-harness2.md)\n- [Devin vs OpenAI Agents API](https://www.anchorterminal.com/compare/devin-vs-openai-agents-api.md)\n- [Droid CLI vs Harness²](https://www.anchorterminal.com/compare/droid-cli-vs-harness2.md)\n- [Droid CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/droid-cli-vs-openai-agents-api.md)\n- [Pi vs Harness²](https://www.anchorterminal.com/compare/earendil-pi-vs-harness2.md)\n- [Pi vs OpenAI Agents API](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-agents-api.md)\n- [Gemini CLI vs Harness²](https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.md)\n- [Gemini CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/gemini-cli-vs-openai-agents-api.md)\n- [GitHub Copilot CLI vs Harness²](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harness2.md)\n- [GitHub Copilot CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-agents-api.md)\n- [goose vs Harness²](https://www.anchorterminal.com/compare/goose-vs-harness2.md)\n- [goose vs OpenAI Agents API](https://www.anchorterminal.com/compare/goose-vs-openai-agents-api.md)\n- [Harness² vs HarnessRouter](https://www.anchorterminal.com/compare/harness2-vs-harnessrouter.md)\n- [Harness² vs Jules](https://www.anchorterminal.com/compare/harness2-vs-jules.md)\n- [Harness² vs Junie CLI](https://www.anchorterminal.com/compare/harness2-vs-junie.md)\n- [Harness² vs Kilo Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kilo-code-cli.md)\n- [Harness² vs Kimi Code CLI](https://www.anchorterminal.com/compare/harness2-vs-kimi-code-cli.md)\n- [Harness² vs Kiro CLI](https://www.anchorterminal.com/compare/harness2-vs-kiro-cli.md)\n- [Harness² vs mini-swe-agent](https://www.anchorterminal.com/compare/harness2-vs-mini-swe-agent.md)\n- [Harness² vs MiniMax Code](https://www.anchorterminal.com/compare/harness2-vs-minimax-code.md)\n- [Harness² vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/harness2-vs-mistral-vibe-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 OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [Harness² vs OpenMausBot](https://www.anchorterminal.com/compare/harness2-vs-openmausbot.md)\n- [Harness² vs Prime Agent](https://www.anchorterminal.com/compare/harness2-vs-prime-agent.md)\n- [Harness² vs Qoder CLI](https://www.anchorterminal.com/compare/harness2-vs-qoder-cli.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- [Harness² vs Rovo Dev CLI](https://www.anchorterminal.com/compare/harness2-vs-rovo-dev-cli.md)\n- [Harness² vs Unstoppable](https://www.anchorterminal.com/compare/harness2-vs-unstoppable.md)\n- [Harness² vs Vibe-Trading](https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.md)\n- [Harness² vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/harness2-vs-warp.md)\n- [HarnessRouter vs OpenAI Agents API](https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api.md)\n- [Jules vs OpenAI Agents API](https://www.anchorterminal.com/compare/jules-vs-openai-agents-api.md)\n- [Junie CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/junie-vs-openai-agents-api.md)\n- [Kilo Code CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api.md)\n- [Kimi Code CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api.md)\n- [Kiro CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.md)\n- [mini-swe-agent vs OpenAI Agents API](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api.md)\n- [MiniMax Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api.md)\n- [Mistral Vibe CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.md)\n- [Muse Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api.md)\n- [OpenAI Agents API vs OpenAI Codex](https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex.md)\n- [OpenAI Agents API vs OpenCode](https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.md)\n- [OpenAI Agents API vs OpenHands](https://www.anchorterminal.com/compare/openai-agents-api-vs-openhands.md)\n- [OpenAI Agents API vs OpenMausBot](https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.md)\n- [OpenAI Agents API vs Prime Agent](https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent.md)\n- [OpenAI Agents API vs Qoder CLI](https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli.md)\n- [OpenAI Agents API vs Qwen Code](https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.md)\n- [OpenAI Agents API vs Mirror CLI](https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.md)\n- [OpenAI Agents API vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli.md)\n- [OpenAI Agents API vs Unstoppable](https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable.md)\n- [OpenAI Agents API vs Vibe-Trading](https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading.md)\n- [OpenAI Agents API vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openai-agents-api-vs-warp.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-06",
    "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": "Harness² vs OpenAI Agents API",
        "url": ""
      }
    ],
    "description": "OpenAI Agents scores 73.3 (BB) to Harness²'s 42 (E) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Harness² E 42",
      "OpenAI Agents API BB 73.3",
      "scores"
    ],
    "h1": "Harness² vs OpenAI Agents API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/harness2-vs-openai-agents-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Harness² vs OpenAI Agents for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-06",
    "url": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api"
  },
  "tokens": {
    "markdown": 6650,
    "slim": 3280
  },
  "version": 1
}
