{
  "data": {
    "a": {
      "slug": "emdash",
      "name": "Emdash",
      "vendor": "General Action, Inc.",
      "vendorUrl": "https://emdash.sh",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Emdash is an open-source desktop app that runs coding agents such as Claude Code, Codex, OpenCode and Amp in parallel, each in its own Git worktree, locally or on remote machines over SSH, with issue intake and pull requests.",
      "url": "https://www.anchorterminal.com/tools/emdash",
      "markdownUrl": "https://www.anchorterminal.com/tools/emdash.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/emdash.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/emdash.json",
      "dns": "emdash.grade.anchorterminal.com",
      "repo": "https://github.com/generalaction/emdash",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [],
      "auth": "none",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the coding agents it runs, through your own subscriptions or API keys (checked 2026-11-07).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol in the repository or README (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://emdash.sh/docs",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "desktop-app",
        "telemetry",
        "new"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.9,
        "grade": "D",
        "agentReady": false,
        "rank": 927,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 35,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 70,
          "payments": 60,
          "reliability": 55,
          "schema": 55,
          "security": 38,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "A mature open-source app for parallel coding agents in Git worktrees, with issue intake from a dozen trackers and remote machines over SSH. Telemetry is on unless you turn it off, and no test workflow was found in the repository.",
        "bestFor": "Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.",
        "strengths": [
          "Each task in its own Git worktree and branch",
          "Issues from Linear, GitHub, Jira, GitLab, Asana and more go straight to an agent",
          "Works on remote machines over SSH",
          "Apache 2.0, version 1.2, with macOS, Windows and Linux builds"
        ],
        "weaknesses": [
          "Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false",
          "No test workflow found, only consistency and release workflows",
          "No security policy file"
        ],
        "agentNotes": [
          "Launch with TELEMETRY_ENABLED=false if you don't want telemetry",
          "Use the SSH mode to keep agents on a remote machine"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.9
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 70,
          "payments": 60,
          "reliability": 55,
          "schema": 55,
          "security": 38,
          "transparency": 68
        },
        "provenanceScore": 40,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "brew install --cask emdash"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/emdash"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "General Action, Inc.",
        "domain": "emdash.sh",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The licence names General Action, Inc.. The repository is github.com/generalaction/emdash."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/emdash.json",
      "live": {
        "slug": "emdash",
        "securityTxt": {
          "url": "https://emdash.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:15.230445185Z"
        },
        "updatedAt": "2026-11-07T16:01:15.230445185Z"
      }
    },
    "answer": "OpenAI Codex scores 73.5 (BB) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories.",
    "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",
      "dns": "openai-codex.grade.anchorterminal.com",
      "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-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.5,
        "grade": "BB",
        "agentReady": true,
        "rank": 107,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 55,
          "schema": 90,
          "security": 82,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "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.166.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.166.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.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.5
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 60,
          "reliability": 55,
          "schema": 90,
          "security": 82,
          "transparency": 75
        },
        "provenanceScore": 94,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm i -g @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",
        "openai-agents-api",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "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-11-01",
        "notes": [
          "The Codex docs moved from developers.openai.com/codex to learn.chatgpt.com, which answered with a 308 redirect to learn.chatgpt.com/docs on 1 November 2026, 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. That security.txt had no Expires field when the openai-api listing last read it (27 October)."
        ],
        "score": 94
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "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-11-07T18:21:37.827637363Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/codex",
            "version": "rust-v0.167.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:51:41.516315744Z"
          },
          {
            "registry": "npm",
            "name": "@openai/codex",
            "version": "0.167.0",
            "seenAt": "2026-11-06T23:51:41.276230728Z"
          }
        ],
        "githubStars": 133483,
        "npmWeekly": 26010557,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:00:49.231731777Z"
        },
        "llmsTxt": {
          "url": "https://learn.chatgpt.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:22.790079935Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-11-01T14:19:18.345389832Z"
        },
        "pages": [
          {
            "url": "https://learn.chatgpt.com/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:41.31964533Z",
            "changedAt": "2026-11-07T14:12:41.31964533Z",
            "fingerprint": "614cbd00fe11"
          }
        ],
        "github": {
          "repo": "openai/codex",
          "checkedAt": "2026-11-02T09:12:46.962484446Z",
          "stars": 132816,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:31:32Z",
          "openIssues": 25881,
          "openPRs": 164,
          "issuesOpened90d": 17364,
          "issuesClosed90d": 3116,
          "prsMerged90d": 4019,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 0,
            "failure": 46,
            "other": 4,
            "latest": "failure",
            "latestAt": "2026-11-02T08:47:19Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-w5fx-fh39-j5rw",
              "cve": "CVE-2025-59532",
              "severity": "high",
              "published": "2025-09-19T00:24:10Z"
            }
          ]
        },
        "updatedAt": "2026-11-07T18:21:37.827637363Z"
      }
    },
    "edges": [
      {
        "by": 44,
        "category": "security",
        "leads": "openai-codex",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Harness reading. Telemetry is described as optional and disabled in Settings or with TELEMETRY_ENABLED=false, which reads as on by default (15 of 30). Worktree per task and remote machines over SSH (10 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 15 + 10 + 5 + 5 + 3 = 38.",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Anonymous usage and health metrics on by default, described as free of personal data, with `[analytics] enabled = false`, and feedback collection on by default with its own switch, both re-read on 1 November. Credentials are a ChatGPT login or an API key (20). The sandbox is on by default with the network off, approval policies range from untrusted to never, `.git`, `.agents` and `.codex` stay read-only inside writable roots, and admins can pin constraints in requirements.toml (19). Network off by default locally. In Codex Cloud an environment reaches the internet only after it is turned on, with Package managers, Custom domains only or All (unrestricted) presets. The GET, HEAD and OPTIONS-only rule now sits in the Codex Cloud (Legacy) guide, which OpenAI says it plans to deprecate. The docs keep a worked example of prompt-injection exfiltration (14). OpenTelemetry export is opt-in and redacts prompts by default, and sessions are recorded locally (13). Bugcrowd programme, SECURITY.md and a signed security.txt on openai.com, per the 1 October check, not re-read on 1 November. As on the openai-api and openai-agents-sdk listings, that security.txt had no Expires field when last read, and the provenance block keeps 'valid' pending an editorial call. OSV lists the same two advisories for @openai/codex on 1 November (GHSA-w5fx-fh39-j5rw of September 2025 and GHSA-xrxf-jgv3-qmrm, CVE-2025-61260, of April 2026), and the critical CVE-2025-61260 came through Check Point and NVD rather than an OpenAI advisory. 0.165.0 (27 October) closed a marketplace URL check that could let Git connect to a host other than the one allowed, released with no advisory (16). SOC 2 isn't scored on the framework reading. 20 + 19 + 14 + 13 + 16 = 82."
        },
        "scores": {
          "a": 38,
          "b": 82
        }
      },
      {
        "by": 35,
        "category": "schema",
        "leads": "openai-codex",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Harness reading. Docs site and a workspace server package (55).",
          "b": "Framework reading. A JSON Schema for config.toml in the repository (codex-rs/core/config.schema.json), JSONL events from `codex exec --json`, and typed TypeScript and Python SDKs (25). llms.txt at learn.chatgpt.com with a Markdown twin for every page, re-read on 1 November (10). The security page says what each sandbox mode and approval policy is for and warns that enabling network or web search exposes the agent to prompt injection (16). Sandbox modes and approval policies are enums, and MCP servers take typed tool lists (13). Examples throughout, and `--output-schema` validates the final message. The non-interactive page names the event types, `turn.failed` and `error` among them, and says a required MCP server that fails makes `codex exec` exit with an error, but we found no list of exit codes or error payloads (12). Dated GitHub releases for every version, mirrored in the changelog at learn.chatgpt.com, which runs to 0.166.0 on 29 October (14). 25 + 10 + 16 + 13 + 12 + 14 = 90."
        },
        "scores": {
          "a": 55,
          "b": 90
        }
      },
      {
        "by": 31,
        "category": "transparency",
        "leads": "openai-codex",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache 2.0 (30). A telemetry page on the docs site (not read) (18 of 30). No deprecation policy (5). Disclosed with an opt-out (15 of 20). 30 + 18 + 5 + 15 = 68.",
          "b": "Apache-2.0 for the CLI and SDKs (30). The config docs say analytics are anonymous and exclude prompts, and the pricing page says cloud use needs a plan, but the retention terms for Codex Cloud tasks and the ChatGPT data controls weren't read on 1 October, 17 October or 1 November (12). The changelog at learn.chatgpt.com dates model retirements ahead of time with replacements (GPT-5.4 and GPT-5.4 mini announced on 31 July for 31 August, GPT-5.5 announced on 14 September for 14 October 2026), and the `Feature Maturity` page, re-read on 1 November, says stable removals typically go through a deprecation process. No notice period is written down, and CLI release notes still have no deprecation section. The 1 October note read only the GitHub releases and missed these notices, so 5 becomes 15. Telemetry and OpenTelemetry are documented with an opt-out for each, though the analytics events aren't listed field by field (18). 30 + 12 + 15 + 18 = 75."
        },
        "scores": {
          "a": 54,
          "b": 85
        }
      },
      {
        "by": 25,
        "category": "ergonomics",
        "leads": "openai-codex",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Harness reading. Issue intake from Linear, GitHub, Jira and others, diff review, pull requests and CI checks in one place, local or over SSH (55).",
          "b": "Framework reading, adapted to a harness driven by a pipeline. `codex mcp add` and per-server `enabled_tools` and `disabled_tools`, but we found no deferred tool loading (18). `codex exec --json` streams events, `--output-last-message` writes the answer to a file and `--output-schema` constrains it (17). Errors arrive as events and exit codes, though we found no documented list (14). `codex exec resume` and `codex resume --last` continue a session, 0.163.0 restores a resumed thread's permissions and network approvals, and 0.166.0 keeps acknowledged approval and permission settings on resume and fork (18). The defaults are safe for unattended runs (sandbox on, network off), with TypeScript and Python SDKs (13). 18 + 17 + 14 + 18 + 13 = 80."
        },
        "scores": {
          "a": 55,
          "b": 80
        }
      },
      {
        "by": 17,
        "category": "maintenance",
        "leads": "openai-codex",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v1.2.11 on 6 November 2026 (30). v1.2.9, v1.2.10 and v1.2.11 within two weeks (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current installers and Homebrew cask (15). Release workflows, no test CI (5). 30 + 20 + 0 + 15 + 5 = 70.",
          "b": "0.166.0 on 29 October 2026 (30). 36 stable release tags between 5 August and 29 October, from 0.146.1 to 0.166.0 (20). Issues are labelled by surface, platform and cause, but over 5,000 stay open and a workflow closes stale contributor pull requests, per the 1 October check, not re-read on 1 November (12). TypeScript and Python SDKs are in the same repository and built in CI (15). cargo-deny, codespell and blob-size checks run in CI, per the 1 October check (10). 30 + 20 + 12 + 15 + 10 = 87."
        },
        "scores": {
          "a": 70,
          "b": 87
        }
      }
    ],
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "General Action, Inc.",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "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": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-06",
        "b": "2026-10-29",
        "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": "none",
        "b": "126k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Codex scores 73.5 (BB) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Emdash or OpenAI Codex?"
      },
      {
        "answer": "Yes. Emdash is open source (Apache-2.0). 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 Emdash and OpenAI Codex open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.",
        "slug": "emdash",
        "watchFor": "Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 90 against 55",
          "Agent ergonomics, 80 against 55",
          "Security \u0026 auth, 82 against 38",
          "Maintenance \u0026 community, 87 against 70",
          "Transparency \u0026 trust, 85 against 54"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "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.166.0, with a minor every few days and no breaking-change section in release notes"
      }
    ],
    "history": {
      "emdash": null,
      "openai-codex": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 73.4,
          "fromGrade": "BB",
          "to": 73.5,
          "toGrade": "BB"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-17",
          "delta": 0.4,
          "from": 73,
          "fromGrade": "BB",
          "to": 73.4,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 73.4,
          "fromGrade": "BB",
          "to": 73,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-emdash.json",
        "title": "Agent Zero vs Emdash",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Aider vs Emdash",
        "url": "https://www.anchorterminal.com/compare/aider-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Amp vs Emdash",
        "url": "https://www.anchorterminal.com/compare/amp-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Antigravity CLI vs Emdash",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-emdash"
      },
      {
        "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/auggie-vs-emdash.json",
        "title": "Auggie CLI vs Emdash",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openai-codex.json",
        "title": "Auggie CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-emdash.json",
        "title": "AXLR vs Emdash",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openai-codex.json",
        "title": "AXLR vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-emdash.json",
        "title": "Claude Code vs Emdash",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Cline vs Emdash",
        "url": "https://www.anchorterminal.com/compare/cline-vs-emdash"
      },
      {
        "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/conductor-vs-emdash.json",
        "title": "Conductor vs Emdash",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/conductor-vs-openai-codex.json",
        "title": "Conductor vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/conductor-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-emdash.json",
        "title": "Crush vs Emdash",
        "url": "https://www.anchorterminal.com/compare/crush-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openai-codex.json",
        "title": "Crush vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-emdash.json",
        "title": "Cursor CLI vs Emdash",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-emdash"
      },
      {
        "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/deepseek-harness-vs-emdash.json",
        "title": "DeepSeek Harness (dsh) vs Emdash",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex.json",
        "title": "DeepSeek Harness (dsh) vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-emdash.json",
        "title": "dsh-superagent (DeepSeek) vs Emdash",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-codex.json",
        "title": "dsh-superagent (DeepSeek) vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-emdash.json",
        "title": "Devin vs Emdash",
        "url": "https://www.anchorterminal.com/compare/devin-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Droid CLI vs Emdash",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-emdash"
      },
      {
        "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-emdash.json",
        "title": "Pi vs Emdash",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-emdash"
      },
      {
        "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/emdash-vs-gemini-cli.json",
        "title": "Emdash vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-github-copilot-cli.json",
        "title": "Emdash vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-goose.json",
        "title": "Emdash vs goose",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-harness2.json",
        "title": "Emdash vs Harness²",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-harnessrouter.json",
        "title": "Emdash vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-jules.json",
        "title": "Emdash vs Jules",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-junie.json",
        "title": "Emdash vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli.json",
        "title": "Emdash vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-kimi-code-cli.json",
        "title": "Emdash vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-kiro-cli.json",
        "title": "Emdash vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-letta.json",
        "title": "Emdash vs Letta",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-letta"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-mini-swe-agent.json",
        "title": "Emdash vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-minimax-code.json",
        "title": "Emdash vs MiniMax Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-minimax-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli.json",
        "title": "Emdash vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-muse-code.json",
        "title": "Emdash vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-openai-agents-api.json",
        "title": "Emdash vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-opencode.json",
        "title": "Emdash vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-openhands.json",
        "title": "Emdash vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-openmausbot.json",
        "title": "Emdash vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-orca.json",
        "title": "Emdash vs Orca",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-paseo.json",
        "title": "Emdash vs Paseo",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-paseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-prime-agent.json",
        "title": "Emdash vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-qoder-cli.json",
        "title": "Emdash vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code.json",
        "title": "Emdash vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror.json",
        "title": "Emdash vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-rovo-dev-cli.json",
        "title": "Emdash vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-sculptor.json",
        "title": "Emdash vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-t3-code.json",
        "title": "Emdash vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-traycer.json",
        "title": "Emdash vs Traycer",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-unstoppable.json",
        "title": "Emdash vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-verdent.json",
        "title": "Emdash vs Verdent",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-vibe-trading.json",
        "title": "Emdash vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-warp.json",
        "title": "Emdash vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-warp"
      },
      {
        "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-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-openai-codex.json",
        "title": "goose vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openai-codex"
      },
      {
        "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/harnessrouter-vs-openai-codex.json",
        "title": "HarnessRouter vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openai-codex.json",
        "title": "Jules vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-codex.json",
        "title": "Junie CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-codex"
      },
      {
        "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/kimi-code-cli-vs-openai-codex.json",
        "title": "Kimi Code CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/kimi-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/letta-vs-openai-codex.json",
        "title": "Letta vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/letta-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-codex.json",
        "title": "mini-swe-agent vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-codex.json",
        "title": "MiniMax Code vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-codex.json",
        "title": "Mistral Vibe CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-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-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-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-openmausbot.json",
        "title": "OpenAI Codex vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-orca.json",
        "title": "OpenAI Codex vs Orca",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-orca"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-paseo.json",
        "title": "OpenAI Codex vs Paseo",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-paseo"
      },
      {
        "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-qoder-cli.json",
        "title": "OpenAI Codex vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-qoder-cli"
      },
      {
        "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/openai-codex-vs-rovo-dev-cli.json",
        "title": "OpenAI Codex vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-sculptor.json",
        "title": "OpenAI Codex vs Sculptor",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-sculptor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.json",
        "title": "OpenAI Codex vs T3 Code",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-t3-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-traycer.json",
        "title": "OpenAI Codex vs Traycer",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-traycer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable.json",
        "title": "OpenAI Codex vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-verdent.json",
        "title": "OpenAI Codex vs Verdent",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-verdent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading.json",
        "title": "OpenAI Codex vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-warp.json",
        "title": "OpenAI Codex vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-emdash.json",
        "title": "Clawboo vs Emdash",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-emdash.json",
        "title": "CLI Manager vs Emdash",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-emdash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-harness-autonomous.json",
        "title": "Emdash vs Harness",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-paperclip.json",
        "title": "Emdash vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/emdash-vs-parallax-agents.json",
        "title": "Emdash vs Parallax",
        "url": "https://www.anchorterminal.com/compare/emdash-vs-parallax-agents"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 0,
        "edge": "",
        "emdash": 55,
        "key": "reliability",
        "name": "Reliability",
        "openai-codex": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "openai-codex",
        "emdash": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-codex": 90,
        "weight": 13
      },
      {
        "by": 25,
        "edge": "openai-codex",
        "emdash": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-codex": 80,
        "weight": 13
      },
      {
        "by": 44,
        "edge": "openai-codex",
        "emdash": 38,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-codex": 82,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "emdash": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-codex": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "openai-codex",
        "emdash": 70,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-codex": 87,
        "weight": 7
      },
      {
        "by": 31,
        "edge": "openai-codex",
        "emdash": 54,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-codex": 85,
        "weight": 7
      }
    ],
    "summary": "OpenAI Codex scores 73.5 (BB) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "emdash": "A mature open-source app for parallel coding agents in Git worktrees, with issue intake from a dozen trackers and remote machines over SSH. Telemetry is on unless you turn it off, and no test workflow was found in the repository.",
      "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.166.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/emdash-vs-openai-codex",
    "json": "https://www.anchorterminal.com/compare/emdash-vs-openai-codex.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/emdash-vs-openai-codex.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/emdash-vs-openai-codex.min.md"
  },
  "markdown": "OpenAI Codex scores 73.5 (BB) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories. Both do agent harnesses.\n\n- Emdash: grade D, 53.9/100, rank #927 of 1486. Markdown https://www.anchorterminal.com/tools/emdash.md · JSON https://www.anchorterminal.com/api/v1/tools/emdash.json\n- OpenAI Codex: grade BB, 73.5/100, rank #107 of 1486. 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 1500 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### Emdash (D)\n\nGood for: Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false\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- Schema \u0026 documentation, 90 against 55\n- Agent ergonomics, 80 against 55\n- Security \u0026 auth, 82 against 38\n- Maintenance \u0026 community, 87 against 70\n- Transparency \u0026 trust, 85 against 54\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: Pre-1.0 at 0.166.0, with a minor every few days and no breaking-change section in release notes\n\n\n## Why the edge\n\n### Security \u0026 auth: OpenAI Codex +44\n\n- Emdash (38): Harness reading. Telemetry is described as optional and disabled in Settings or with TELEMETRY_ENABLED=false, which reads as on by default (15 of 30). Worktree per task and remote machines over SSH (10 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 15 + 10 + 5 + 5 + 3 = 38.\n- OpenAI Codex (82): Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Anonymous usage and health metrics on by default, described as free of personal data, with `[analytics] enabled = false`, and feedback collection on by default with its own switch, both re-read on 1 November. Credentials are a ChatGPT login or an API key (20). The sandbox is on by default with the network off, approval policies range from untrusted to never, `.git`, `.agents` and `.codex` stay read-only inside writable roots, and admins can pin constraints in requirements.toml (19). Network off by default locally. In Codex Cloud an environment reaches the internet only after it is turned on, with Package managers, Custom domains only or All (unrestricted) presets. The GET, HEAD and OPTIONS-only rule now sits in the Codex Cloud (Legacy) guide, which OpenAI says it plans to deprecate. The docs keep a worked example of prompt-injection exfiltration (14). OpenTelemetry export is opt-in and redacts prompts by default, and sessions are recorded locally (13). Bugcrowd programme, SECURITY.md and a signed security.txt on openai.com, per the 1 October check, not re-read on 1 November. As on the openai-api and openai-agents-sdk listings, that security.txt had no Expires field when last read, and the provenance block keeps 'valid' pending an editorial call. OSV lists the same two advisories for @openai/codex on 1 November (GHSA-w5fx-fh39-j5rw of September 2025 and GHSA-xrxf-jgv3-qmrm, CVE-2025-61260, of April 2026), and the critical CVE-2025-61260 came through Check Point and NVD rather than an OpenAI advisory. 0.165.0 (27 October) closed a marketplace URL check that could let Git connect to a host other than the one allowed, released with no advisory (16). SOC 2 isn't scored on the framework reading. 20 + 19 + 14 + 13 + 16 = 82.\n\n### Schema \u0026 documentation: OpenAI Codex +35\n\n- Emdash (55): Harness reading. Docs site and a workspace server package (55).\n- OpenAI Codex (90): Framework reading. A JSON Schema for config.toml in the repository (codex-rs/core/config.schema.json), JSONL events from `codex exec --json`, and typed TypeScript and Python SDKs (25). llms.txt at learn.chatgpt.com with a Markdown twin for every page, re-read on 1 November (10). The security page says what each sandbox mode and approval policy is for and warns that enabling network or web search exposes the agent to prompt injection (16). Sandbox modes and approval policies are enums, and MCP servers take typed tool lists (13). Examples throughout, and `--output-schema` validates the final message. The non-interactive page names the event types, `turn.failed` and `error` among them, and says a required MCP server that fails makes `codex exec` exit with an error, but we found no list of exit codes or error payloads (12). Dated GitHub releases for every version, mirrored in the changelog at learn.chatgpt.com, which runs to 0.166.0 on 29 October (14). 25 + 10 + 16 + 13 + 12 + 14 = 90.\n\n### Transparency \u0026 trust: OpenAI Codex +31\n\n- Emdash (54): Apache 2.0 (30). A telemetry page on the docs site (not read) (18 of 30). No deprecation policy (5). Disclosed with an opt-out (15 of 20). 30 + 18 + 5 + 15 = 68.\n- OpenAI Codex (85): Apache-2.0 for the CLI and SDKs (30). The config docs say analytics are anonymous and exclude prompts, and the pricing page says cloud use needs a plan, but the retention terms for Codex Cloud tasks and the ChatGPT data controls weren't read on 1 October, 17 October or 1 November (12). The changelog at learn.chatgpt.com dates model retirements ahead of time with replacements (GPT-5.4 and GPT-5.4 mini announced on 31 July for 31 August, GPT-5.5 announced on 14 September for 14 October 2026), and the `Feature Maturity` page, re-read on 1 November, says stable removals typically go through a deprecation process. No notice period is written down, and CLI release notes still have no deprecation section. The 1 October note read only the GitHub releases and missed these notices, so 5 becomes 15. Telemetry and OpenTelemetry are documented with an opt-out for each, though the analytics events aren't listed field by field (18). 30 + 12 + 15 + 18 = 75.\n\n### Agent ergonomics: OpenAI Codex +25\n\n- Emdash (55): Harness reading. Issue intake from Linear, GitHub, Jira and others, diff review, pull requests and CI checks in one place, local or over SSH (55).\n- OpenAI Codex (80): Framework reading, adapted to a harness driven by a pipeline. `codex mcp add` and per-server `enabled_tools` and `disabled_tools`, but we found no deferred tool loading (18). `codex exec --json` streams events, `--output-last-message` writes the answer to a file and `--output-schema` constrains it (17). Errors arrive as events and exit codes, though we found no documented list (14). `codex exec resume` and `codex resume --last` continue a session, 0.163.0 restores a resumed thread's permissions and network approvals, and 0.166.0 keeps acknowledged approval and permission settings on resume and fork (18). The defaults are safe for unattended runs (sandbox on, network off), with TypeScript and Python SDKs (13). 18 + 17 + 14 + 18 + 13 = 80.\n\n### Maintenance \u0026 community: OpenAI Codex +17\n\n- Emdash (70): v1.2.11 on 6 November 2026 (30). v1.2.9, v1.2.10 and v1.2.11 within two weeks (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current installers and Homebrew cask (15). Release workflows, no test CI (5). 30 + 20 + 0 + 15 + 5 = 70.\n- OpenAI Codex (87): 0.166.0 on 29 October 2026 (30). 36 stable release tags between 5 August and 29 October, from 0.146.1 to 0.166.0 (20). Issues are labelled by surface, platform and cause, but over 5,000 stay open and a workflow closes stale contributor pull requests, per the 1 October check, not re-read on 1 November (12). TypeScript and Python SDKs are in the same repository and built in CI (15). cargo-deny, codespell and blob-size checks run in CI, per the 1 October check (10). 30 + 20 + 12 + 15 + 10 = 87.\n\n## Score by category\n\n| Category | Weight | Emdash | OpenAI Codex | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 55 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 90 | OpenAI Codex +35 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 80 | OpenAI Codex +25 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 82 | OpenAI Codex +44 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 87 | OpenAI Codex +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 85 | OpenAI Codex +31 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **53.9 · D** | **73.5 · BB** | |\n\n## Facts side by side\n\n| Fact | Emdash | OpenAI Codex |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | General Action, Inc. | OpenAI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | 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| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-11-06 | 2026-10-29 |\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 | none | 126k stars |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Emdash\n\nNo score change since it was listed.\n\n### OpenAI Codex\n\n- +0.1 on 27 October 2026: checklist\n- +0.4 on 17 October 2026: new evidence\n- -0.4 on 8 October 2026: checklist\n\n## Verdicts\n\n**Emdash.** A mature open-source app for parallel coding agents in Git worktrees, with issue intake from a dozen trackers and remote machines over SSH. Telemetry is on unless you turn it off, and no test workflow was found in the repository.\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.166.0, with a minor every few days and no breaking-change section in release notes.\n\n## Before you call either\n\n### Emdash\n\n1. Launch with TELEMETRY_ENABLED=false if you don't want telemetry\n2. Use the SSH mode to keep agents on a remote machine\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, Emdash or OpenAI Codex?\n\nOpenAI Codex scores 73.5 (BB) on agent readiness against Emdash's 53.9 (D), and leads in 5 of 7 scored categories.\n\n### Are Emdash and OpenAI Codex open source?\n\nYes. Emdash is open source (Apache-2.0). 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/emdash-vs-openai-codex.json, and with the fewest tokens: https://www.anchorterminal.com/compare/emdash-vs-openai-codex.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"emdash\", \"b\": \"openai-codex\"}`. From a terminal: `anchor compare emdash openai-codex`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/emdash.json and https://www.anchorterminal.com/api/v1/tools/openai-codex.json\n\n## Other comparisons with Emdash or OpenAI Codex\n\n- [Agent Zero vs Emdash](https://www.anchorterminal.com/compare/agent-zero-vs-emdash.md)\n- [Agent Zero vs OpenAI Codex](https://www.anchorterminal.com/compare/agent-zero-vs-openai-codex.md)\n- [Aider vs Emdash](https://www.anchorterminal.com/compare/aider-vs-emdash.md)\n- [Aider vs OpenAI Codex](https://www.anchorterminal.com/compare/aider-vs-openai-codex.md)\n- [Amp vs Emdash](https://www.anchorterminal.com/compare/amp-vs-emdash.md)\n- [Amp vs OpenAI Codex](https://www.anchorterminal.com/compare/amp-vs-openai-codex.md)\n- [Antigravity CLI vs Emdash](https://www.anchorterminal.com/compare/antigravity-cli-vs-emdash.md)\n- [Antigravity CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-codex.md)\n- [Auggie CLI vs Emdash](https://www.anchorterminal.com/compare/auggie-vs-emdash.md)\n- [Auggie CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/auggie-vs-openai-codex.md)\n- [AXLR vs Emdash](https://www.anchorterminal.com/compare/axlr-vs-emdash.md)\n- [AXLR vs OpenAI Codex](https://www.anchorterminal.com/compare/axlr-vs-openai-codex.md)\n- [Claude Code vs Emdash](https://www.anchorterminal.com/compare/claude-code-vs-emdash.md)\n- [Claude Code vs OpenAI Codex](https://www.anchorterminal.com/compare/claude-code-vs-openai-codex.md)\n- [Cline vs Emdash](https://www.anchorterminal.com/compare/cline-vs-emdash.md)\n- [Cline vs OpenAI Codex](https://www.anchorterminal.com/compare/cline-vs-openai-codex.md)\n- [Conductor vs Emdash](https://www.anchorterminal.com/compare/conductor-vs-emdash.md)\n- [Conductor vs OpenAI Codex](https://www.anchorterminal.com/compare/conductor-vs-openai-codex.md)\n- [Crush vs Emdash](https://www.anchorterminal.com/compare/crush-vs-emdash.md)\n- [Crush vs OpenAI Codex](https://www.anchorterminal.com/compare/crush-vs-openai-codex.md)\n- [Cursor CLI vs Emdash](https://www.anchorterminal.com/compare/cursor-cli-vs-emdash.md)\n- [Cursor CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/cursor-cli-vs-openai-codex.md)\n- [DeepSeek Harness (dsh) vs Emdash](https://www.anchorterminal.com/compare/deepseek-harness-vs-emdash.md)\n- [DeepSeek Harness (dsh) vs OpenAI Codex](https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex.md)\n- [dsh-superagent (DeepSeek) vs Emdash](https://www.anchorterminal.com/compare/deepseek-superagent-vs-emdash.md)\n- [dsh-superagent (DeepSeek) vs OpenAI Codex](https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-codex.md)\n- [Devin vs Emdash](https://www.anchorterminal.com/compare/devin-vs-emdash.md)\n- [Devin vs OpenAI Codex](https://www.anchorterminal.com/compare/devin-vs-openai-codex.md)\n- [Droid CLI vs Emdash](https://www.anchorterminal.com/compare/droid-cli-vs-emdash.md)\n- [Droid CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/droid-cli-vs-openai-codex.md)\n- [Pi vs Emdash](https://www.anchorterminal.com/compare/earendil-pi-vs-emdash.md)\n- [Pi vs OpenAI Codex](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-codex.md)\n- [Emdash vs Gemini CLI](https://www.anchorterminal.com/compare/emdash-vs-gemini-cli.md)\n- [Emdash vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/emdash-vs-github-copilot-cli.md)\n- [Emdash vs goose](https://www.anchorterminal.com/compare/emdash-vs-goose.md)\n- [Emdash vs Harness²](https://www.anchorterminal.com/compare/emdash-vs-harness2.md)\n- [Emdash vs HarnessRouter](https://www.anchorterminal.com/compare/emdash-vs-harnessrouter.md)\n- [Emdash vs Jules](https://www.anchorterminal.com/compare/emdash-vs-jules.md)\n- [Emdash vs Junie CLI](https://www.anchorterminal.com/compare/emdash-vs-junie.md)\n- [Emdash vs Kilo Code CLI](https://www.anchorterminal.com/compare/emdash-vs-kilo-code-cli.md)\n- [Emdash vs Kimi Code CLI](https://www.anchorterminal.com/compare/emdash-vs-kimi-code-cli.md)\n- [Emdash vs Kiro CLI](https://www.anchorterminal.com/compare/emdash-vs-kiro-cli.md)\n- [Emdash vs Letta](https://www.anchorterminal.com/compare/emdash-vs-letta.md)\n- [Emdash vs mini-swe-agent](https://www.anchorterminal.com/compare/emdash-vs-mini-swe-agent.md)\n- [Emdash vs MiniMax Code](https://www.anchorterminal.com/compare/emdash-vs-minimax-code.md)\n- [Emdash vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/emdash-vs-mistral-vibe-cli.md)\n- [Emdash vs Muse Code](https://www.anchorterminal.com/compare/emdash-vs-muse-code.md)\n- [Emdash vs OpenAI Agents API](https://www.anchorterminal.com/compare/emdash-vs-openai-agents-api.md)\n- [Emdash vs OpenCode](https://www.anchorterminal.com/compare/emdash-vs-opencode.md)\n- [Emdash vs OpenHands](https://www.anchorterminal.com/compare/emdash-vs-openhands.md)\n- [Emdash vs OpenMausBot](https://www.anchorterminal.com/compare/emdash-vs-openmausbot.md)\n- [Emdash vs Orca](https://www.anchorterminal.com/compare/emdash-vs-orca.md)\n- [Emdash vs Paseo](https://www.anchorterminal.com/compare/emdash-vs-paseo.md)\n- [Emdash vs Prime Agent](https://www.anchorterminal.com/compare/emdash-vs-prime-agent.md)\n- [Emdash vs Qoder CLI](https://www.anchorterminal.com/compare/emdash-vs-qoder-cli.md)\n- [Emdash vs Qwen Code](https://www.anchorterminal.com/compare/emdash-vs-qwen-code.md)\n- [Emdash vs Mirror CLI](https://www.anchorterminal.com/compare/emdash-vs-reflection-mirror.md)\n- [Emdash vs Rovo Dev CLI](https://www.anchorterminal.com/compare/emdash-vs-rovo-dev-cli.md)\n- [Emdash vs Sculptor](https://www.anchorterminal.com/compare/emdash-vs-sculptor.md)\n- [Emdash vs T3 Code](https://www.anchorterminal.com/compare/emdash-vs-t3-code.md)\n- [Emdash vs Traycer](https://www.anchorterminal.com/compare/emdash-vs-traycer.md)\n- [Emdash vs Unstoppable](https://www.anchorterminal.com/compare/emdash-vs-unstoppable.md)\n- [Emdash vs Verdent](https://www.anchorterminal.com/compare/emdash-vs-verdent.md)\n- [Emdash vs Vibe-Trading](https://www.anchorterminal.com/compare/emdash-vs-vibe-trading.md)\n- [Emdash vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/emdash-vs-warp.md)\n- [Gemini CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex.md)\n- [GitHub Copilot CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-codex.md)\n- [goose vs OpenAI Codex](https://www.anchorterminal.com/compare/goose-vs-openai-codex.md)\n- [Harness² vs OpenAI Codex](https://www.anchorterminal.com/compare/harness2-vs-openai-codex.md)\n- [HarnessRouter vs OpenAI Codex](https://www.anchorterminal.com/compare/harnessrouter-vs-openai-codex.md)\n- [Jules vs OpenAI Codex](https://www.anchorterminal.com/compare/jules-vs-openai-codex.md)\n- [Junie CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/junie-vs-openai-codex.md)\n- [Kilo Code CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-codex.md)\n- [Kimi Code CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-codex.md)\n- [Kiro CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-codex.md)\n- [Letta vs OpenAI Codex](https://www.anchorterminal.com/compare/letta-vs-openai-codex.md)\n- [mini-swe-agent vs OpenAI Codex](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-codex.md)\n- [MiniMax Code vs OpenAI Codex](https://www.anchorterminal.com/compare/minimax-code-vs-openai-codex.md)\n- [Mistral Vibe CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-codex.md)\n- [Muse Code vs OpenAI Codex](https://www.anchorterminal.com/compare/muse-code-vs-openai-codex.md)\n- [OpenAI Agents API vs OpenAI Codex](https://www.anchorterminal.com/compare/openai-agents-api-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 OpenMausBot](https://www.anchorterminal.com/compare/openai-codex-vs-openmausbot.md)\n- [OpenAI Codex vs Orca](https://www.anchorterminal.com/compare/openai-codex-vs-orca.md)\n- [OpenAI Codex vs Paseo](https://www.anchorterminal.com/compare/openai-codex-vs-paseo.md)\n- [OpenAI Codex vs Prime Agent](https://www.anchorterminal.com/compare/openai-codex-vs-prime-agent.md)\n- [OpenAI Codex vs Qoder CLI](https://www.anchorterminal.com/compare/openai-codex-vs-qoder-cli.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- [OpenAI Codex vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openai-codex-vs-rovo-dev-cli.md)\n- [OpenAI Codex vs Sculptor](https://www.anchorterminal.com/compare/openai-codex-vs-sculptor.md)\n- [OpenAI Codex vs T3 Code](https://www.anchorterminal.com/compare/openai-codex-vs-t3-code.md)\n- [OpenAI Codex vs Traycer](https://www.anchorterminal.com/compare/openai-codex-vs-traycer.md)\n- [OpenAI Codex vs Unstoppable](https://www.anchorterminal.com/compare/openai-codex-vs-unstoppable.md)\n- [OpenAI Codex vs Verdent](https://www.anchorterminal.com/compare/openai-codex-vs-verdent.md)\n- [OpenAI Codex vs Vibe-Trading](https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading.md)\n- [OpenAI Codex vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openai-codex-vs-warp.md)\n- [Clawboo vs Emdash](https://www.anchorterminal.com/compare/clawboo-vs-emdash.md)\n- [CLI Manager vs Emdash](https://www.anchorterminal.com/compare/cli-manager-vs-emdash.md)\n- [Emdash vs Harness](https://www.anchorterminal.com/compare/emdash-vs-harness-autonomous.md)\n- [Emdash vs Paperclip](https://www.anchorterminal.com/compare/emdash-vs-paperclip.md)\n- [Emdash vs Parallax](https://www.anchorterminal.com/compare/emdash-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Emdash vs OpenAI Codex",
        "url": ""
      }
    ],
    "description": "OpenAI Codex scores 73.5 (BB) to Emdash's 53.9 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Emdash D 53.9",
      "OpenAI Codex BB 73.5",
      "scores"
    ],
    "h1": "Emdash vs OpenAI Codex",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/emdash-vs-openai-codex",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Emdash vs OpenAI Codex for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/emdash-vs-openai-codex"
  },
  "tokens": {
    "markdown": 5700,
    "slim": 2280
  },
  "version": 1
}
