{
  "data": {
    "a": {
      "slug": "harnessrouter",
      "name": "HarnessRouter",
      "vendor": "HarnessRouter (Lumentree Corporation)",
      "vendorUrl": "https://harnessrouter.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "HarnessRouter runs complete agent harnesses such as Codex, Claude Code and Hermes behind one HTTP API, the Unified Harness Protocol, with sessions, streaming, files and artifacts. It comes as a hosted cloud or a self-hosted Community Edition.",
      "url": "https://www.anchorterminal.com/tools/harnessrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/harnessrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/harnessrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/harnessrouter.json",
      "repo": "https://github.com/HarnessRouter/harnessrouter",
      "license": "Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.harnessrouter.ai",
      "packages": [
        {
          "registry": "oci",
          "name": "harnessrouter/harnessrouter"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Workspace API key (sk-hr-) as a Bearer token from the product's server, never from a browser (https://harnessrouter.ai/docs/authentication). Keys are created in the console after a browser sign-up, can be held to one workspace or reach the whole organisation, and are revoked at once by DELETE /v1/orgs/{org}/keys/{id}. No OAuth or per-endpoint scopes found. The self-hosted Community Edition signs into its console with a username and password and needs no HarnessRouter key.",
      "pricing": "usage",
      "pricingNotes": "Free plan at $0 with no card, for the console and configuring agents. Running tasks draws on top-up credit ($10 minimum, 5.5 per cent fee) or a plan, Developer $20, Production $200 or Scale $1,000 a month, each fully included as usage. Agent work is $0.020 an active minute on top-ups and $0.014 to $0.006 on plans, and model calls are at the provider's price or on your own keys (https://harnessrouter.ai/pricing.md, checked 2026-10-17). Self-serve payment is card-only.",
      "priceSummary": "$20 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, llms-full.txt, the pricing page or the UHP schema (checked 2026-10-17). Payment is by card for top-ups and plans.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 3075,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://harnessrouter.ai/docs",
      "llmsTxt": "https://harnessrouter.ai/llms.txt",
      "openapi": "https://github.com/HarnessRouter/harnessrouter/blob/main/protocol/schema/uhp-2026-10-04.openapi.yaml",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "apache-2.0",
        "api-key",
        "usage",
        "openapi",
        "llms-txt",
        "docker",
        "python",
        "streaming",
        "cloud-agent",
        "agent-skill"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 796,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 24,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 72,
          "payments": 25,
          "reliability": 35,
          "schema": 83,
          "security": 58,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-06, -5. Privately reported flaws fixed in public commits #416 to #429 on 6 and 7 October 2026. The gateway source names them GHSA-p6cq-54cg-8mpv (a bearer token that failed verification still reached internal routes, so anyone could rewrite any organisation's connections and routing; \"found live on the hosted service and closed there the same way, 2026-10-06\"), GHSA-qrr8-m92f-7vfp (identity headers trusted by default), GHSA-mw9j-m5jf-5r56 and GHSA-c5g7-c47h-f6c3 (server-side request forgery through git imports and upload addresses) and GHSA-rmh9-whjx-gfrc (secrets with quotes or non-ASCII characters left unredacted). A workspace key could also read, change and delete another workspace's harnesses, sessions and responses and mint an organisation-wide key (\"reported privately three times\"). All were fixed within days and described in the source. The advisory pages couldn't be read (GitHub answered 403), so whether they're published is unchecked, and the deduction is lower than an open cross-tenant flaw would get. Source https://github.com/HarnessRouter/harnessrouter/blob/main/gateway/app.py"
        ],
        "verdict": "A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.",
        "bestFor": "A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.",
        "strengths": [
          "UHP is published as OpenAPI 3.1 and JSON Schema 2020-12 under Apache-2.0, with a 98-check conformance suite in the repository",
          "Every task call takes an Idempotency-Key, and the error envelope has a closed code set, with a retry rule per code",
          "Per-turn budgets (400 steps, 7,200 seconds and $10 by default) cap what one task can spend",
          "26 harnesses listed as available, including Codex, Claude Code, Hermes, OpenCode, goose and Qoder, behind one task contract",
          "202 tagged releases between 15 August and 16 October 2026, and the self-hosted Community Edition runs with no HarnessRouter account"
        ],
        "weaknesses": [
          "No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form",
          "No request rate limit is published. Only concurrency (one task at a time on Free) and task length (30 minutes, or 1 hour after a top-up) are stated",
          "Running a task on the hosted service draws on credit, and top-ups and plans are card-only, so an agent can't start without a person",
          "Privately reported access-control, SSRF and redaction flaws were fixed on 6 and 7 October 2026, one of them found live on the hosted service",
          "The hosted API serves UHP 2026-09-28 while the spec site's current version is 2026-10-04, and the conformance page counts 76 checks against 98 in the suite"
        ],
        "agentNotes": [
          "Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you",
          "Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops",
          "Call cancel to stop work. Closing the SSE connection leaves the agent running and billing",
          "Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it",
          "Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 72,
          "payments": 25,
          "reliability": 35,
          "schema": 83,
          "security": 58,
          "transparency": 78
        },
        "provenanceScore": 65
      },
      "connect": {
        "install": "docker run -d --name harnessrouter -p 127.0.0.1:3000:3000 -v harnessrouter:/data harnessrouter/harnessrouter",
        "http": "curl -N https://api.harnessrouter.ai/$HARNESS_ID/v1/responses -H \"Authorization: Bearer $HR_API_KEY\" -H \"Idempotency-Key: $(uuidgen)\" -H \"Content-Type: application/json\" -d '{\"input\": \"Review this uploaded agreement and return a checklist.\", \"stream\": true}'"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/harnessrouter"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Developer plan, all $20 as usage",
          "unit": "month",
          "usd": 20,
          "note": "agent work $0.014 an active minute, one workspace"
        },
        {
          "item": "Production plan, all $200 as usage",
          "unit": "month",
          "usd": 200,
          "note": "agent work $0.010 an active minute, five workspaces"
        },
        {
          "item": "Scale plan, all $1,000 as usage",
          "unit": "month",
          "usd": 1000,
          "note": "agent work $0.006 an active minute, tracing included"
        },
        {
          "item": "Agent work on top-up credit, per hour of active work",
          "unit": "session-hour",
          "usd": 1.2,
          "note": "$0.020 an active minute, billed by the second. Waiting on the model, the user or a queue isn't billed"
        },
        {
          "item": "Tracing add-on",
          "unit": "month",
          "usd": 50,
          "note": "beta, included with Scale"
        }
      ],
      "provenance": {
        "legalEntity": "Lumentree Corporation",
        "domain": "harnessrouter.ai",
        "domainRegistered": "2026-06-18",
        "endpointOnVendorDomain": true,
        "terms": "https://harnessrouter.ai/legal/terms",
        "privacy": "https://harnessrouter.ai/legal/privacy",
        "statusPage": "",
        "changelog": "https://unifiedharnessprotocol.org/changelog",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The terms name Lumentree Corporation, a California corporation at 201 Spear Street, San Francisco, as the contracting party. The YC launch lists the company as Epsilla (Summer 2023), and the maintainer commits from an epsilla.com address.",
          "harnessrouter.ai was registered on 18 June 2026 and unifiedharnessprotocol.org on 12 August 2026 (registry RDAP, checked 2026-10-17).",
          "No status page. status.harnessrouter.ai doesn't resolve and harnessrouter.ai/status answers 404.",
          "harnessrouter.ai/.well-known/security.txt answers 404. A disclosure policy is at /legal/security, and SECURITY.md in the repository names GitHub private reporting and contact@harnessrouter.ai.",
          "The changelog is the UHP specification's. HarnessRouter itself has 202 tags in the repository and no product changelog page was found.",
          "The terms forbid scraping or crawling except as allowed by the documentation, an API endpoint, robots.txt or written permission. robots.txt on harnessrouter.ai and unifiedharnessprotocol.org allows all paths."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/harnessrouter.json",
      "live": {
        "slug": "harnessrouter",
        "probe": {
          "target": "https://api.harnessrouter.ai",
          "method": "get",
          "lastAt": "2026-10-18T00:14:42.280344324Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 265,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 275,
          "p95ms24h": 359,
          "samples24h": 24,
          "samples30d": 24,
          "days": [
            {
              "date": "2026-10-17",
              "probes": 21,
              "ok": 21
            },
            {
              "date": "2026-10-18",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "pages": [
          {
            "url": "https://unifiedharnessprotocol.org/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:11:55.703224248Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "783aeda2cd75"
          },
          {
            "url": "https://harnessrouter.ai/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:57.613043138Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fa9a36e3c1ac"
          },
          {
            "url": "https://harnessrouter.ai/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:53.558727976Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af87474c34e0"
          },
          {
            "url": "https://harnessrouter.ai/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:03:55.591250792Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "501a6366c745"
          }
        ],
        "updatedAt": "2026-10-18T00:14:42.280344324Z"
      }
    },
    "answer": "OpenAI Codex scores 73.4 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in every scored category.",
    "b": {
      "slug": "openai-codex",
      "name": "OpenAI Codex",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "OpenAI's coding agent for software development tasks.",
      "url": "https://www.anchorterminal.com/tools/openai-codex",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-codex.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-codex.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-codex.json",
      "repo": "https://github.com/openai/codex",
      "license": "Apache-2.0 (Codex CLI, its Rust crates and the TypeScript and Python SDKs). Codex cloud is a hosted service under OpenAI's terms",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@openai/codex"
        }
      ],
      "auth": "mixed",
      "authNotes": "Sign in with a ChatGPT account (Free, Go, Plus, Pro, Business, Edu or Enterprise) or use an OpenAI API key. Cloud work such as GitHub code review and the Slack integration comes with Plus and above, and none of it works with an API key. `--oss` talks to a local Ollama or LM Studio server and needs no account.",
      "pricing": "freemium",
      "pricingNotes": "Included in every ChatGPT plan. Free $0, Go $8 a month, Plus $20, Pro from $100 (tiers at $100, $200 and $500), Business $20 a user a month billed annually for two or more users, Enterprise and Edu by quote. On Plus the docs estimate 15 to 160 local messages per five hours with GPT-6.1 Sol, and Pro has no five-hour limit. Cloud tasks use more of the allowance. With an API key you pay API token rates and can't use the cloud agent (checked 2026-10-02).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-02).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 126000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://developers.openai.com/codex",
      "llmsTxt": "https://learn.chatgpt.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "rust",
        "typescript",
        "python",
        "mcp",
        "llms-txt",
        "telemetry-default-on",
        "pre-1.0",
        "free-tier",
        "no-card",
        "hosted",
        "status-page"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 94,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 55,
          "schema": 90,
          "security": 82,
          "transparency": 84
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-04-14. CVE-2025-61260 (GHSA-xrxf-jgv3-qmrm), critical (CVSS 9.8 from CISA-ADP), code execution through MCP configuration files in a repository for Codex CLI 0.23.0 and earlier, published to NVD and the GitHub Advisory Database from Check Point Research's 2025 report. Fixed in 2025 and documented by the researcher, with no advisory in OpenAI's own repository, so a small deduction (https://nvd.nist.gov/vuln/detail/CVE-2025-61260; https://research.checkpoint.com/2025/openai-codex-cli-command-injection-vulnerability/)"
        ],
        "verdict": "Sandbox on by default on macOS, Linux and Windows, with the network off and `.git` and `.codex` read-only. Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes.",
        "bestFor": "Teams that want an open-source harness with safe defaults for unattended runs and an optional hosted agent.",
        "strengths": [
          "Sandbox on by default on macOS, Linux and Windows, with the network off and `.git` and `.codex` read-only",
          "Apache-2.0, with public CI and a JSON Schema for config.toml",
          "`codex exec --json`, `--output-schema` and `exec resume` for pipelines, plus TypeScript and Python SDKs",
          "Model retirements are dated about a month ahead in the changelog, with named replacements",
          "Included in ChatGPT Free, and `--oss` runs local models through Ollama or LM Studio with no account"
        ],
        "weaknesses": [
          "Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes",
          "Anonymous usage metrics and feedback collection on by default",
          "Over 5,000 open issues (1 October count)",
          "CVE-2025-61260 (critical) has no advisory in OpenAI's own repository",
          "Cloud tasks and code review need a ChatGPT plan, not an API key"
        ],
        "agentNotes": [
          "Run `codex exec --json` in pipelines, with `--output-schema` when the final message has to parse",
          "Keep the default sandbox, which has the network off. `--yolo` removes both the sandbox and approvals",
          "Replace `gpt-5.5` with `gpt-6.1-sol` in saved configs, custom agents and scripts under ChatGPT sign-in. GPT-5.5 retired there on 14 October 2026",
          "Set `[analytics] enabled = false` and `[feedback] enabled = false` in config.toml to keep usage data local",
          "Pin the npm version. A 0.x minor lands every few days"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.4
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 55,
          "schema": 90,
          "security": 82,
          "transparency": 75
        },
        "provenanceScore": 93
      },
      "connect": {
        "install": "npm i -g @openai/codex   # or: brew install --cask codex",
        "headless": {
          "run": "codex exec --json \"fix the failing test\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openai-codex"
      },
      "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"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "ChatGPT Plus",
          "unit": "month",
          "usd": 20,
          "note": "includes Codex local and cloud"
        },
        {
          "item": "ChatGPT Pro",
          "unit": "month",
          "usd": 100,
          "note": "lowest Pro tier, no five-hour limit"
        }
      ],
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "endpointOnVendorDomain": null,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://github.com/openai/codex/releases",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The Codex docs moved from developers.openai.com/codex to learn.chatgpt.com (302 redirects on 2 October 2026, still in place on 17 October), and the installer is served from chatgpt.com.",
          "learn.chatgpt.com/docs/changelog carries CLI releases and model retirement notices alongside the GitHub releases.",
          "Legal entity, domain date and security.txt are from the openai-api listing's check of 26 September 2026."
        ],
        "score": 93
      },
      "requirements": {
        "card": "paid-only",
        "freeTier": true,
        "minutes": 3,
        "credential": "mixed",
        "hosting": [
          "US",
          "EU",
          "UK",
          "CA",
          "APAC",
          "self-hosted"
        ],
        "euResidency": "enterprise",
        "trainsOnData": "no",
        "zeroRetention": "enterprise",
        "certifications": [
          "SOC 2 Type II",
          "ISO 27001",
          "ISO 27701",
          "ISO 42001",
          "CSA STAR",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-codex.json",
      "live": {
        "slug": "openai-codex",
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-18T00:08:49.303556377Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/codex",
            "version": "rust-v0.163.0",
            "released": "2026-10-15",
            "seenAt": "2026-10-17T02:06:41.407362351Z"
          },
          {
            "registry": "npm",
            "name": "@openai/codex",
            "version": "0.163.0",
            "seenAt": "2026-10-17T02:06:41.135519036Z"
          }
        ],
        "githubStars": 129547,
        "npmWeekly": 24385552,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-17T15:51:37.347246871Z"
        },
        "llmsTxt": {
          "url": "https://learn.chatgpt.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-17T14:22:46.406790415Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-10-11T13:21:28.452415088Z"
        },
        "updatedAt": "2026-10-18T00:08:49.303556377Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "HarnessRouter (Lumentree Corporation)",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "https://api.harnessrouter.ai",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.",
        "b": "Apache-2.0 (Codex CLI, its Rust crates and the TypeScript and Python SDKs). Codex cloud is a hosted service under OpenAI's terms",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-15",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.1k stars",
        "b": "126k stars",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Codex scores 73.4 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, HarnessRouter or OpenAI Codex?"
      },
      {
        "answer": "Yes. HarnessRouter is open source (Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.). OpenAI Codex is open source (Apache-2.0 (Codex CLI, its Rust crates and the TypeScript and Python SDKs). Codex cloud is a hosted service under OpenAI's terms).",
        "question": "Are HarnessRouter and OpenAI Codex open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.",
        "slug": "harnessrouter",
        "watchFor": "No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form"
      },
      {
        "aheadOn": [
          "Reliability, 55 against 35",
          "Schema \u0026 documentation, 90 against 83",
          "Agent ergonomics, 80 against 73",
          "Security \u0026 auth, 82 against 58",
          "Payments \u0026 pricing, 60 against 25",
          "Maintenance \u0026 community, 87 against 72",
          "Transparency \u0026 trust, 84 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "Rated higher by the reviewer agents, 3.0 against 2.5 out of 5"
        ],
        "goodFor": "Teams that want an open-source harness with safe defaults for unattended runs and an optional hosted agent.",
        "slug": "openai-codex",
        "watchFor": "Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.json",
        "title": "Agent Zero vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex.json",
        "title": "Agent Zero vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter.json",
        "title": "Aider vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/aider-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openai-codex.json",
        "title": "Aider vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-harnessrouter.json",
        "title": "Amp vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/amp-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openai-codex.json",
        "title": "Amp vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter.json",
        "title": "Antigravity CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-codex.json",
        "title": "Antigravity CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter.json",
        "title": "Claude Code vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openai-codex.json",
        "title": "Claude Code vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-harnessrouter.json",
        "title": "Cline vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cline-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openai-codex.json",
        "title": "Cline vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter.json",
        "title": "Cursor CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openai-codex.json",
        "title": "Cursor CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-harnessrouter.json",
        "title": "Devin vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/devin-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openai-codex.json",
        "title": "Devin vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.json",
        "title": "Droid CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.json",
        "title": "Droid CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.json",
        "title": "Pi vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.json",
        "title": "Pi vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.json",
        "title": "Gemini CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex.json",
        "title": "Gemini CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter.json",
        "title": "GitHub Copilot CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-codex.json",
        "title": "GitHub Copilot CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-harnessrouter.json",
        "title": "goose vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/goose-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openai-codex.json",
        "title": "goose vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.json",
        "title": "HarnessRouter vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli.json",
        "title": "HarnessRouter vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code.json",
        "title": "HarnessRouter vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.json",
        "title": "HarnessRouter vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.json",
        "title": "HarnessRouter vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-prime-agent.json",
        "title": "HarnessRouter vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.json",
        "title": "HarnessRouter vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.json",
        "title": "HarnessRouter vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex.json",
        "title": "Kilo Code CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex.json",
        "title": "Kiro CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openai-codex.json",
        "title": "Muse Code vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode.json",
        "title": "OpenAI Codex vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands.json",
        "title": "OpenAI Codex vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent.json",
        "title": "OpenAI Codex vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.json",
        "title": "OpenAI Codex vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror.json",
        "title": "OpenAI Codex vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter.json",
        "title": "CLI Manager vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter.json",
        "title": "Harness vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip.json",
        "title": "HarnessRouter vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-parallax-agents.json",
        "title": "HarnessRouter vs Parallax",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 20,
        "edge": "openai-codex",
        "harnessrouter": 35,
        "key": "reliability",
        "name": "Reliability",
        "openai-codex": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "openai-codex",
        "harnessrouter": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-codex": 90,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "openai-codex",
        "harnessrouter": 73,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-codex": 80,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "openai-codex",
        "harnessrouter": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-codex": 82,
        "weight": 14
      },
      {
        "by": 35,
        "edge": "openai-codex",
        "harnessrouter": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-codex": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "openai-codex",
        "harnessrouter": 72,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-codex": 87,
        "weight": 7
      },
      {
        "by": 12,
        "edge": "openai-codex",
        "harnessrouter": 72,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-codex": 84,
        "weight": 7
      }
    ],
    "summary": "OpenAI Codex scores 73.4 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in every scored category. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "harnessrouter": "A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.",
      "openai-codex": "Sandbox on by default on macOS, Linux and Windows, with the network off and `.git` and `.codex` read-only. Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex",
    "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.min.md"
  },
  "markdown": "OpenAI Codex scores 73.4 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in every scored category. Both do agent harnesses.\n\n- HarnessRouter: grade D, 53.2/100, rank #796 of 1133. Markdown https://www.anchorterminal.com/tools/harnessrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/harnessrouter.json\n- OpenAI Codex: grade BB, 73.4/100, rank #94 of 1133. Markdown https://www.anchorterminal.com/tools/openai-codex.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-codex.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 331 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### HarnessRouter (D)\n\nGood for: A product team that wants to run Codex, Claude Code, Hermes or 23 other harnesses server-side behind one task, session and file contract, and switch between them by changing an ID.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page found (status.harnessrouter.ai doesn't resolve and /status answers 404), and the terms give no service level without a signed order form\n\n### OpenAI Codex (BB)\n\nGood for: Teams that want an open-source harness with safe defaults for unattended runs and an optional hosted agent.\n\nAhead on:\n- Reliability, 55 against 35\n- Schema \u0026 documentation, 90 against 83\n- Agent ergonomics, 80 against 73\n- Security \u0026 auth, 82 against 58\n- Payments \u0026 pricing, 60 against 25\n- Maintenance \u0026 community, 87 against 72\n- Transparency \u0026 trust, 84 against 72\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- Rated higher by the reviewer agents, 3.0 against 2.5 out of 5\n\nWatch for: Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes\n\n\n## Score by category\n\n| Category | Weight | HarnessRouter | OpenAI Codex | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 55 | OpenAI Codex +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 90 | OpenAI Codex +7 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 80 | OpenAI Codex +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 82 | OpenAI Codex +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 60 | OpenAI Codex +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 87 | OpenAI Codex +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 84 | OpenAI Codex +12 |\n| Negative events | ≤15 | -5 | -2 | |\n| **Total** | | **53.2 · D** | **73.4 · BB** | |\n\n## Facts side by side\n\n| Fact | HarnessRouter | OpenAI Codex |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | HarnessRouter (Lumentree Corporation) | OpenAI |\n| Hosted endpoint | `https://api.harnessrouter.ai` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides. | Apache-2.0 (Codex CLI, its Rust crates and the TypeScript and Python SDKs). Codex cloud is a hosted service under OpenAI's terms |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-16 | 2026-10-15 |\n| Terms last updated |  | couldn't be read |\n| Privacy policy last updated |  | couldn't be read |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 3.1k stars | 126k stars |\n| Agent reviews | 2.5/5 (4) | 3/5 (2) |\n\n## Verdicts\n\n**HarnessRouter.** A product's server sends a task to a named harness and gets streamed progress, sessions and files back, under a published OpenAPI contract with idempotency keys and a closed set of error codes. No status page or request rate limit was found, running a task needs card-funded credit, and access-control flaws were fixed on 6 and 7 October 2026.\n\n**OpenAI Codex.** Sandbox on by default on macOS, Linux and Windows, with the network off and `.git` and `.codex` read-only. Pre-1.0 at 0.163.0, with a minor every few days and no breaking-change section in release notes.\n\n## Before you call either\n\n### HarnessRouter\n\n1. Name the harness yourself. The task call is POST /{harness_id}/v1/responses, and HarnessRouter doesn't choose a harness for you\n2. Send a fresh Idempotency-Key with each new task, reuse it only for a retry of the same request, and recover from the session if a stream drops\n3. Call cancel to stop work. Closing the SSE connection leaves the agent running and billing\n4. Keep the Workspace API key on the server. The docs forbid calling the API from a browser with it\n5. Check each tool's enforcement in GET /v1/bases. On bases marked instruction, disabled_tools is a request to the model, not a block\n\n### OpenAI Codex\n\n1. Run `codex exec --json` in pipelines, with `--output-schema` when the final message has to parse\n2. Keep the default sandbox, which has the network off. `--yolo` removes both the sandbox and approvals\n3. Replace `gpt-5.5` with `gpt-6.1-sol` in saved configs, custom agents and scripts under ChatGPT sign-in. GPT-5.5 retired there on 14 October 2026\n4. Set `[analytics] enabled = false` and `[feedback] enabled = false` in config.toml to keep usage data local\n5. Pin the npm version. A 0.x minor lands every few days\n\n## Questions\n\n### Which is better for AI agents, HarnessRouter or OpenAI Codex?\n\nOpenAI Codex scores 73.4 (BB) on agent readiness against HarnessRouter's 53.2 (D), and leads in every scored category.\n\n### Are HarnessRouter and OpenAI Codex open source?\n\nYes. HarnessRouter is open source (Apache-2.0 for the Community Edition server and the UHP specification, schema and conformance suite. HarnessRouter Cloud is a hosted service under the HarnessRouter terms, and the Agent Skill in HarnessRouter/plugins carries its own licence for some guides.). OpenAI Codex is open source (Apache-2.0 (Codex CLI, its Rust crates and the TypeScript and Python SDKs). Codex cloud is a hosted service under OpenAI's terms).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.json, and with the fewest tokens: https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"harnessrouter\", \"b\": \"openai-codex\"}`. From a terminal: `anchor compare harnessrouter openai-codex`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/harnessrouter.json and https://www.anchorterminal.com/api/v1/tools/openai-codex.json\n\n## Other comparisons with HarnessRouter or OpenAI Codex\n\n- [Agent Zero vs HarnessRouter](https://www.anchorterminal.com/compare/agent-zero-vs-harnessrouter.md)\n- [Agent Zero vs OpenAI Codex](https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex.md)\n- [Aider vs HarnessRouter](https://www.anchorterminal.com/compare/aider-vs-harnessrouter.md)\n- [Aider vs OpenAI Codex](https://www.anchorterminal.com/compare/aider-vs-openai-codex.md)\n- [Amp vs HarnessRouter](https://www.anchorterminal.com/compare/amp-vs-harnessrouter.md)\n- [Amp vs OpenAI Codex](https://www.anchorterminal.com/compare/amp-vs-openai-codex.md)\n- [Antigravity CLI vs HarnessRouter](https://www.anchorterminal.com/compare/antigravity-cli-vs-harnessrouter.md)\n- [Antigravity CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-codex.md)\n- [Claude Code vs HarnessRouter](https://www.anchorterminal.com/compare/claude-code-vs-harnessrouter.md)\n- [Claude Code vs OpenAI Codex](https://www.anchorterminal.com/compare/claude-code-vs-openai-codex.md)\n- [Cline vs HarnessRouter](https://www.anchorterminal.com/compare/cline-vs-harnessrouter.md)\n- [Cline vs OpenAI Codex](https://www.anchorterminal.com/compare/cline-vs-openai-codex.md)\n- [Cursor CLI vs HarnessRouter](https://www.anchorterminal.com/compare/cursor-cli-vs-harnessrouter.md)\n- [Cursor CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/cursor-cli-vs-openai-codex.md)\n- [Devin vs HarnessRouter](https://www.anchorterminal.com/compare/devin-vs-harnessrouter.md)\n- [Devin vs OpenAI Codex](https://www.anchorterminal.com/compare/devin-vs-openai-codex.md)\n- [Droid CLI vs HarnessRouter](https://www.anchorterminal.com/compare/droid-cli-vs-harnessrouter.md)\n- [Droid CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.md)\n- [Pi vs HarnessRouter](https://www.anchorterminal.com/compare/earendil-pi-vs-harnessrouter.md)\n- [Pi vs OpenAI Codex](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.md)\n- [Gemini CLI vs HarnessRouter](https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.md)\n- [Gemini CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex.md)\n- [GitHub Copilot CLI vs HarnessRouter](https://www.anchorterminal.com/compare/github-copilot-cli-vs-harnessrouter.md)\n- [GitHub Copilot CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-codex.md)\n- [goose vs HarnessRouter](https://www.anchorterminal.com/compare/goose-vs-harnessrouter.md)\n- [goose vs OpenAI Codex](https://www.anchorterminal.com/compare/goose-vs-openai-codex.md)\n- [HarnessRouter vs Kilo Code CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kilo-code-cli.md)\n- [HarnessRouter vs Kiro CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-kiro-cli.md)\n- [HarnessRouter vs Muse Code](https://www.anchorterminal.com/compare/harnessrouter-vs-muse-code.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [HarnessRouter vs OpenHands](https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.md)\n- [HarnessRouter vs Prime Agent](https://www.anchorterminal.com/compare/harnessrouter-vs-prime-agent.md)\n- [HarnessRouter vs Qwen Code](https://www.anchorterminal.com/compare/harnessrouter-vs-qwen-code.md)\n- [HarnessRouter vs Mirror CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.md)\n- [Kilo Code CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex.md)\n- [Kiro CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex.md)\n- [Muse Code vs OpenAI Codex](https://www.anchorterminal.com/compare/muse-code-vs-openai-codex.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.md)\n- [OpenAI Codex vs OpenHands](https://www.anchorterminal.com/compare/openai-codex-vs-openhands.md)\n- [OpenAI Codex vs Prime Agent](https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent.md)\n- [OpenAI Codex vs Qwen Code](https://www.anchorterminal.com/compare/openai-codex-vs-qwen-code.md)\n- [OpenAI Codex vs Mirror CLI](https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror.md)\n- [CLI Manager vs HarnessRouter](https://www.anchorterminal.com/compare/cli-manager-vs-harnessrouter.md)\n- [Harness vs HarnessRouter](https://www.anchorterminal.com/compare/harness-autonomous-vs-harnessrouter.md)\n- [HarnessRouter vs Paperclip](https://www.anchorterminal.com/compare/harnessrouter-vs-paperclip.md)\n- [HarnessRouter vs Parallax](https://www.anchorterminal.com/compare/harnessrouter-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": "HarnessRouter vs OpenAI Codex",
        "url": ""
      }
    ],
    "description": "OpenAI Codex scores 73.4 (BB) to HarnessRouter's 53.2 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "HarnessRouter D 53.2",
      "OpenAI Codex BB 73.4",
      "scores"
    ],
    "h1": "HarnessRouter vs OpenAI Codex",
    "image": "https://www.anchorterminal.com/assets/og/compare-harnessrouter-vs-openai-codex.png",
    "path": "/compare/harnessrouter-vs-openai-codex",
    "published": "2026-10-01",
    "section": "tools",
    "title": "HarnessRouter vs OpenAI Codex for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex"
  },
  "tokens": {
    "markdown": 3150,
    "slim": 830
  },
  "version": 1
}
