{
  "data": {
    "a": {
      "slug": "openai-agents-api",
      "name": "OpenAI Agents API",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com/index/introducing-the-agents-api/",
      "kind": "http-api",
      "category": "agent-harnesses",
      "summary": "The OpenAI Agents API runs OpenAI's managed Codex harness as a hosted service. One call creates a session with a model, tools, MCP servers, subagents and an OpenAI-hosted or self-hosted sandbox, and OpenAI runs the loop.",
      "url": "https://www.anchorterminal.com/tools/openai-agents-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-agents-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-agents-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json",
      "dns": "openai-agents-api.grade.anchorterminal.com",
      "license": "Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0",
      "transports": [
        "https"
      ],
      "remoteUrl": "https://api.openai.com/v1/agents/sessions",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "An OpenAI project API key as a Bearer token, with the header `OpenAI-Beta: agents=v1`. Project keys can be restricted per endpoint or read-only, and service accounts and workload identity federation are available, per the openai-api listing. Signing up and creating a key need a person in a browser.",
      "pricing": "usage",
      "pricingNotes": "No fee for the API itself. Model tokens are billed at the chosen model's API rates, OpenAI tools at their built-in rates (web search $10.00 per 1,000 calls plus content tokens), and OpenAI-hosted sandboxes at container rates, $0.03 for 1 GB, $0.12 for 4 GB, $0.48 for 16 GB and $1.92 for 64 GB per 20-minute session, billed by the minute with a 5-minute minimum. Since 9 October sandbox compute is billed only during active turns (checked 2026-11-06).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Agents API guides or on OpenAI's pricing page; billing is to an OpenAI account (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.openai.com/api/docs/guides/agents-api/overview",
      "llmsTxt": "https://developers.openai.com/api/docs/llms.txt",
      "capabilities": [
        "agent.harness"
      ],
      "tags": [
        "official",
        "hosted",
        "beta",
        "usage-priced",
        "llms-txt",
        "status-page",
        "mcp-client",
        "sandbox",
        "subagents",
        "webhooks",
        "soc2",
        "iso27001",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 99,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 30,
          "reliability": 60,
          "schema": 88,
          "security": 87,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.",
        "bestFor": "Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.",
        "strengths": [
          "One session call configures the model, tools, MCP servers, subagents and the sandbox, and OpenAI runs and recovers the loop",
          "Sandboxes on OpenAI or self-hosted, with guides for ten providers including E2B, Daytona, Modal, Cloudflare and Vercel",
          "An errors guide with codes per status and turn, Retry-After and a check-before-retry procedure",
          "Webhooks, streamed events, tracing and usage views for each session",
          "SDK examples in Python, JavaScript, Go, Java and Ruby",
          "Status page with its own Agents component"
        ],
        "weaknesses": [
          "Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date",
          "Not eligible for Zero Data Retention, and data residency is United States only",
          "No idempotency key for session or turn requests; retries depend on checking state first",
          "One API-wide major outage on 29 September included it, plus several smaller incidents since release",
          "No retention period stated for published artifacts after a sandbox expires"
        ],
        "agentNotes": [
          "POST https://api.openai.com/v1/agents/sessions with a project key and the header OpenAI-Beta: agents=v1, or use client.beta.agents in the SDKs",
          "Before retrying, retrieve the session and turn and check which actions completed, since there's no idempotency key",
          "Set the sandbox network to restricted with an allowlist of up to 100 hosts when the agent doesn't need the open web",
          "Save files from /workspace/outputs before deleting a session; no retention period is stated for artifacts",
          "Don't send data that needs Zero Data Retention or non-US residency; the Agents API supports neither"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.3
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 87,
          "payments": 30,
          "reliability": 60,
          "schema": 88,
          "security": 87,
          "transparency": 75
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.openai.com/v1/agents/sessions \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -H \"OpenAI-Beta: agents=v1\" \\\n  -H \"Content-Type: application/json\" \\\n  -d @session.json   # model, tools, environment and input, per the quickstart"
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openai-agents-api"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-speech-to-text",
        "gpt-live",
        "openai-realtime",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "openai.com was registered in 2007, before OpenAI existed, per the openai-api listing.",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The endpoint is on api.openai.com, the same host as the rest of the OpenAI API. Terms, privacy, security.txt and the domain are the openai-api listing's readings."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-agents-api.json",
      "live": {
        "slug": "openai-agents-api",
        "probe": {
          "target": "https://api.openai.com/v1/agents/sessions",
          "method": "get",
          "lastAt": "2026-11-06T09:47:41.371658489Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 162,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 148,
          "p95ms24h": 166,
          "samples24h": 47,
          "samples30d": 47,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-06T09:43:26.425829944Z"
        },
        "updatedAt": "2026-11-06T09:47:41.371658489Z"
      }
    },
    "answer": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Mirror CLI's 57.2 (C), and leads in 6 of 7 scored categories. Mirror CLI leads on payments \u0026 pricing.",
    "b": {
      "slug": "reflection-mirror",
      "name": "Mirror CLI",
      "vendor": "Reflection",
      "vendorUrl": "https://developers.reflection.ai/mirror-overview",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Mirror CLI is Reflection's open-source coding agent for the terminal, in early beta. It reads code, edits files and runs commands, with parallel agents in separate worktrees, MCP connections and Python extensions, using Beam by default or another provider.",
      "url": "https://www.anchorterminal.com/tools/reflection-mirror",
      "markdownUrl": "https://www.anchorterminal.com/tools/reflection-mirror.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/reflection-mirror.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json",
      "dns": "reflection-mirror.grade.anchorterminal.com",
      "repo": "https://github.com/reflection-oss/mirror",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "reflection-mirror"
        }
      ],
      "auth": "api-key",
      "authNotes": "The default provider is the Reflection API, with a key from platform.reflection.ai in `REFLECTION_API_KEY` or pasted at first start and saved to `~/.mirror/reflection_api_key`. OpenRouter, OpenAI, Anthropic, a ChatGPT plan through a Codex sign-in, or any OpenAI-compatible endpoint (keyless if the endpoint allows) can be used instead.",
      "pricing": "free",
      "pricingNotes": "Free and Apache-2.0. Model calls are billed by the provider chosen. The default Reflection API applies per-minute and daily limits set by the organisation's plan, and some organisations must verify a credit card before their keys work. Reflection's price list on reflection.ai wasn't read on 4 November 2026.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Mirror docs, the README or the source at commit f938033 (checked 17 October 2026).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://developers.reflection.ai/mirror-overview",
      "llmsTxt": "https://developers.reflection.ai/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "python",
        "rust",
        "mcp",
        "llms-txt",
        "beta",
        "pre-1.0",
        "telemetry-default-on",
        "approvals",
        "free",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.2,
        "grade": "C",
        "agentReady": false,
        "rank": 721,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 24,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 47,
          "payments": 60,
          "reliability": 40,
          "schema": 75,
          "security": 58,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Mirror CLI is Apache-2.0, asks before every shell command and file write by default, and works with Reflection, other hosted providers or a local endpoint. It is a 0.1.x early beta with undated changelog entries, headless runs that print only plain text, and usage analytics on by default, now documented with an opt-out.",
        "bestFor": "Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.",
        "strengths": [
          "Apache-2.0 source for the Python CLI and the Rust agent core, with a public CI workflow and 195 test files",
          "Manual approval by default, covering every shell command, file write, MCP tool call and most extension tools",
          "Provider keys are kept out of the environment of commands the agent runs, and MCP definitions are read only from the home directory",
          "Works with Reflection, OpenRouter, OpenAI, Anthropic or any OpenAI-compatible endpoint, including a keyless local server",
          "`mirror acp` serves the Agent Client Protocol on stdio, and `/worktree` runs parallel agents in separate checkouts"
        ],
        "weaknesses": [
          "Version 0.1.x, labelled early beta, with an undated changelog and no CLI release tags",
          "Usage analytics go to Statsig by default, and the first-run notice calls them anonymous while each event carries a persistent install ID",
          "No sandbox by default. The opt-in microVM sandbox covers file and shell tools only, and extensions and local MCP servers run on the host",
          "`mirror exec` prints only the final answer as plain text, with exit codes not documented and no budget or time limit",
          "Approval mode is saved globally, so switching to auto in one directory applies to later launches everywhere"
        ],
        "agentNotes": [
          "Open Mirror interactively once in each directory before `mirror exec` or `mirror acp`. Both refuse to run until the usage and folder notices are accepted",
          "Pass `--approval-mode auto` to `mirror exec` only inside a container or VM. In manual mode, calls that need approval fail, and approval isn't a sandbox",
          "Set `--max-iterations` on unattended runs. Turns are unlimited by default",
          "Check the result with your own tests. `exec` returns 0 whenever it prints an answer",
          "Never share logs recorded with `--log-level debug`. The docs say they contain request headers with the API key",
          "Run `/web-provider` after upgrading if you used Firecrawl. You.com is now the default, and a key alone doesn't select its provider"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.2
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 47,
          "payments": 60,
          "reliability": 40,
          "schema": 75,
          "security": 58,
          "transparency": 63
        },
        "provenanceScore": 69,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uv tool install reflection-mirror",
        "headless": {
          "command": "mirror exec --approval-mode auto --max-iterations 50 \"$TASK\"",
          "env": {
            "REFLECTION_API_KEY": "\u003cyour-key\u003e"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/reflection-mirror"
      },
      "sameCompany": [
        "reflection-beam"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Reflection AI",
        "domain": "reflection.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://reflection.ai/legal/commercial-terms-of-service",
        "privacy": "https://reflection.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/reflection-oss/mirror/blob/main/CHANGELOG.md",
        "securityTxt": "unknown",
        "checked": "2026-11-04",
        "notes": [
          "The software is under Apache-2.0 (LICENSE and NOTICE in the repository). The terms field is Reflection's Commercial Terms of Service for the Reflection API that Mirror calls by default, per the 17 October 2026 check.",
          "reflection.ai's robots.txt disallows ClaudeBot, Claude-Web and anthropic-ai (read 4 November 2026), so the terms, the privacy policy and reflection.ai's security.txt weren't re-read and their 17 October readings are struck. Both URLs are kept as listed facts. The legal entity is the copyright holder in the repository's NOTICE files (`Copyright 2026 Reflection AI`), since the fuller name came from the struck privacy policy.",
          "RDAP for reflection.ai gave a registration date of 16 December 2017 on 17 October 2026 (not re-read; RDAP is a JSON service).",
          "The repository has had CHANGELOG.md since 22 October 2026, with undated entries. Its only tag is mirror-agent-v0.1.8.",
          "developers.reflection.ai/.well-known/security.txt returns 404 (4 November 2026). The repository's SECURITY.md sends vulnerability reports to developers@reflection.ai.",
          "Mirror is software the owner runs, so no status page applies to it."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/reflection-mirror.json",
      "live": {
        "slug": "reflection-mirror",
        "versions": [
          {
            "registry": "github",
            "name": "reflection-oss/mirror",
            "version": "mirror-agent-v0.1.8",
            "released": "2026-10-19",
            "seenAt": "2026-11-05T22:02:10.810190359Z"
          },
          {
            "registry": "pypi",
            "name": "reflection-mirror",
            "version": "0.1.1",
            "released": "2026-10-22",
            "seenAt": "2026-11-05T22:02:10.505258137Z"
          }
        ],
        "githubStars": 214,
        "pypiWeekly": 523,
        "securityTxt": {
          "url": "https://reflection.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-05T15:56:40.432966159Z"
        },
        "llmsTxt": {
          "url": "https://developers.reflection.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-05T15:27:09.28547819Z"
        },
        "domain": {
          "domain": "reflection.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/reflection.ai",
          "checkedAt": "2026-11-01T14:25:19.009468335Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/reflection-oss/mirror/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-05T13:07:04.33925164Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f291f14a169"
          }
        ],
        "github": {
          "repo": "reflection-oss/mirror",
          "checkedAt": "2026-11-02T09:20:54.283383343Z",
          "stars": 214,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-22T20:27:47Z",
          "openIssues": 1,
          "openPRs": 0,
          "issuesOpened90d": 1,
          "issuesClosed90d": 0,
          "prsMerged90d": 5,
          "ci": {
            "branch": "main",
            "runs": 5,
            "success": 5,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-22T20:38:43Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 1
          }
        },
        "updatedAt": "2026-11-05T22:02:10.810190359Z"
      }
    },
    "edges": [
      {
        "by": 40,
        "category": "maintenance",
        "leads": "openai-agents-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Closed API. Last dated change 16 October 2026, Ultrafast mode and document skills (30). Four dated changelog entries in the 57 days since release, 10 September, 29 September, 9 October and 16 October (20). Changelog and help centre, as the openai-api listing reads them (12 of 15). Official SDKs carry beta.agents (15). SDK CI, per the openai-api listing (10). 30 + 20 + 12 + 15 + 10 = 87.",
          "b": "0.1.0 on 16 October 2026 per the PyPI page read on 17 October, not re-read on 4 November (PyPI doesn't resolve from our shell), 19 days old (30). The 90-day line needs three dated releases. 0.1.0 (16 October) and the `mirror-agent-v0.1.8` tag on the same commit, f938033, are one release day, and 0.1.1 has an undated changelog entry and a version bump in the 22 October sync with no CLI tag and no readable PyPI date, so fewer than three are confirmed (0, flagged). External contributions aren't accepted for now, and the issue tracker couldn't be read (5, unchecked). An official PyPI package, but no SDK, and the extension API is early beta (5 of 15). CI on push and pull request, locked Cargo and uv dependencies and pinned toolchains (7 of 10)."
        },
        "scores": {
          "a": 87,
          "b": 47
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "reflection-mirror",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). Model, tool and container prices published without a login, and no fee for the API itself (20). The Free tier reading of the openai-api listing, half (10). Sign-up in a browser (0). 0 + 20 + 10 + 0 = 30.",
          "b": "Self-hosted rule. No payment protocol (0). The CLI is free under Apache-2.0 with nothing to buy (20). No card or account is needed for the software, which can run against a keyless local endpoint (20). An agent can install and run it with no sign-up, given a model endpoint (20). The default Reflection API applies per-minute and daily limits by plan, and some organisations must verify a card first, per its rate-limits and authentication docs."
        },
        "scores": {
          "a": 30,
          "b": 60
        }
      },
      {
        "by": 29,
        "category": "security",
        "leads": "openai-agents-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Project keys with restricted per-endpoint permissions, service accounts and workload identity, per the openai-api listing; we didn't confirm a key can be limited to /v1/agents (27 of 30). Automatic review for approvals, a sandbox network restricted to a host allowlist, vaults for secrets and a sandbox security guide (17 of 20). The agent reads web pages, MCP results and browser content; the sandbox security guide and approval flow are the mitigations, with no prompt-injection guide of its own found (8 of 15). Tracing, observability and usage per session and admin audit logs (15). SOC 2 Type 2, ISO 27001 family, Bugcrowd bounty and a disclosure policy, per the openai-api listing (20). Not ZDR-eligible and US residency only, recorded under transparency. 27 + 17 + 8 + 15 + 20 = 87.",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Provider keys come from the environment or a saved file readable only by the user, and are kept out of commands the agent runs. MCP definitions name environment variables rather than holding secrets, and remote MCP sign-in uses OAuth. Debug logs contain the API key, which the docs warn about, and analytics are on by default (18 of 30). Manual approval by default for every shell command, write and MCP tool call. Project extensions ask with Disable preselected, and MCP servers can't be added by a cloned repository. Auto mode, once chosen, applies in every directory (15 of 20). SECURITY.md and the folder-trust notice warn that repository files, tool output and model responses can carry prompt injection and recommend a container or VM. The microVM sandbox is opt-in and covers file and shell tools only (9 of 15). Conversations with their tool calls are kept in `~/.mirror/state.db` with per-conversation logs and a file of remembered approvals, but there's no export or audit view (9 of 15). SECURITY.md gives a private email and a report scope, but there's no security.txt, bug bounty or published advisory (7 of 20). Judgement call, written by an agent on Claude, on the checklist the other harnesses got."
        },
        "scores": {
          "a": 87,
          "b": 58
        }
      },
      {
        "by": 22,
        "category": "ergonomics",
        "leads": "openai-agents-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read as an API an agent drives. Context is compacted automatically, and session budgets and streamed events keep output sized (20 of 25). Sessions can be listed, continued and steered, events streamed or sent by webhook, artifacts fetched (15 of 20). Actionable error codes with recovery steps (20). No idempotency key; a documented check-then-retry procedure (10 of 20). One session call with defaults (medium sandbox, network enabled), SDKs in five languages (15). 20 + 15 + 20 + 10 + 15 = 80.",
          "b": "Framework reading, adapted to a harness driven by a pipeline. `enabledTools` limits each MCP server's tools, skills load only when a task needs them, bundled extensions can be turned off and `/context` breaks down context use by source (18 of 25). `--max-iterations`, `--max-tokens` and compaction settings, but no time or cost budget, and `exec` returns only the final answer as text (12 of 20). `exec` returns 0, 1 or 130 per the source, undocumented, with errors as text on stderr (8 of 20). Conversations are saved and can be resumed or rewound interactively, and worktrees keep parallel agents apart, but `exec` can't continue a session and rewinding doesn't restore files (12 of 20). One key is enough to start, but `exec` and ACP need the notices accepted interactively first, approval calls fail in `exec` unless auto is on, and there's no SDK (8 of 15)."
        },
        "scores": {
          "a": 80,
          "b": 58
        }
      },
      {
        "by": 20,
        "category": "reliability",
        "leads": "openai-agents-api",
        "name": "Reliability",
        "reasons": {
          "a": "Read as a hosted API. status.openai.com has an Agents component under APIs (20). Since release on 10 September (57 days, not 90), the feed names the Agents API in a degraded-performance incident on 14 September, the elevated errors across ChatGPT, Codex and the API on 29 September (the openai-api listing reads that one as a major, 17:52 to 23:14 UTC), computer use issues and degraded workspace agents on 6 and 7 October, degraded performance across the APIs for 22 minutes on 21 October, and overbilling for hosted containers on 19 September. One major, the rest minor (10). Rate limits come from the shared guide, published per tier and model with headers, and the errors page adds a Files API allowance on session creation (15). 429 and 503 guidance with Retry-After, capped backoff and a check-then-retry procedure for turns (15). The Scale Tier SLA in the openai-api listing isn't shown to cover a beta API (0). Public beta behind the agents=v1 header (0). 20 + 10 + 15 + 15 + 0 + 0 = 60.",
          "b": "Local-package reading. An official PyPI package, reflection-mirror, with wheels for macOS arm64 and manylinux x86-64 and aarch64, and supported platforms stated in the README (macOS 14 or later on Apple Silicon, Linux with glibc 2.28 or later, Python 3.12 or later) (20). A public CI workflow runs the Python package tests (ci.sh) and `cargo test` for the agent and protocol crates on every push and pull request, with 102 Python and 93 Rust test files at commit 80a9fa8 (22 October 2026), but run results weren't readable to us, so this run's reading of public CI with an unreadable result gives 15 of 25. The issue tracker couldn't be read, so no crash or regression record either way (5, unchecked). A CHANGELOG.md now lists 0.1.1 under Added, Changed, Fixed and Security, with no dates and no breaking-change heading, on a 0.x version (0, flagged). 0.1.x, labelled early beta in the docs (0)."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 19,
        "category": "transparency",
        "leads": "openai-agents-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with clear terms, Apache-2.0 SDKs (15). Session state retained until deleted, deletable sessions and artifacts, not ZDR-eligible, US residency only, and the data-controls guide agrees; no retention period for artifacts after a sandbox expires (25 of 30). Dated deprecation notices with minimum periods for GA models; a beta API can change faster (15 of 20). Subprocessors and processing countries listed, per the openai-api listing (20). 15 + 25 + 15 + 20 = 75.",
          "b": "Apache-2.0, with NOTICE and third-party licences in the repository (30). The README and SECURITY.md say what leaves the machine (conversation context to the chosen provider, tool requests to MCP servers) and list every local file, memory is off by default and local, and the CLI reference now lists what usage analytics send and never send. Reflection's privacy policy is on reflection.ai, whose robots.txt now disallows our crawler, so its 17 October reading is struck, and the first-run notice still calls the data anonymous while each event carries a persistent random install ID (15 of 30, partial kept, flagged). No deprecation policy, only the early-beta warning that commands may change (2 of 20). Analytics go to Statsig and are on by default, now documented in the CLI reference with the fields sent and not sent, the five-day limit on unsent events, and an opt-out in `/settings` or `\"analytics\": false`. Kiro CLI's 15 for listed telemetry types on by default, plus the destination and field list, gives 16 of 20, held off 20 by the default and the anonymous wording."
        },
        "scores": {
          "a": 85,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "OpenAI",
        "b": "Reflection",
        "name": "Vendor"
      },
      {
        "a": "https://api.openai.com/v1/agents/sessions",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "https",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-05",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-08-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Mirror CLI's 57.2 (C), and leads in 6 of 7 scored categories. Mirror CLI leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, OpenAI Agents API or Mirror CLI?"
      },
      {
        "answer": "OpenAI Agents API has a hosted endpoint at https://api.openai.com/v1/agents/sessions. No hosted endpoint is listed for Mirror CLI.",
        "question": "Can an agent call OpenAI Agents API and Mirror CLI without installing anything?"
      },
      {
        "answer": "No open-source release is listed for OpenAI Agents API. Mirror CLI is open source (Apache-2.0).",
        "question": "Are OpenAI Agents API and Mirror CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 40",
          "Schema \u0026 documentation, 88 against 75",
          "Agent ergonomics, 80 against 58",
          "Security \u0026 auth, 87 against 58",
          "Maintenance \u0026 community, 87 against 47",
          "Transparency \u0026 trust, 85 against 66"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.",
        "slug": "openai-agents-api",
        "watchFor": "Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 30"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.",
        "slug": "reflection-mirror",
        "watchFor": "Version 0.1.x, labelled early beta, with an undated changelog and no CLI release tags"
      }
    ],
    "history": {
      "openai-agents-api": null,
      "reflection-mirror": [
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": 3.1,
          "from": 54.1,
          "fromGrade": "C",
          "to": 57.2,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.2,
          "from": 54.3,
          "fromGrade": "C",
          "to": 54.1,
          "toGrade": "C"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 54.4,
          "fromGrade": "C",
          "to": 54.3,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api.json",
        "title": "Agent Zero vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.json",
        "title": "Agent Zero vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openai-agents-api.json",
        "title": "Aider vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.json",
        "title": "Aider vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openai-agents-api.json",
        "title": "Amp vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-reflection-mirror.json",
        "title": "Amp vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-agents-api.json",
        "title": "Antigravity CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror.json",
        "title": "Antigravity CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api.json",
        "title": "Auggie CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror.json",
        "title": "Auggie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api.json",
        "title": "AXLR vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror.json",
        "title": "AXLR vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openai-agents-api.json",
        "title": "Claude Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror.json",
        "title": "Claude Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openai-agents-api.json",
        "title": "Cline vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-reflection-mirror.json",
        "title": "Cline vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.json",
        "title": "Crush vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-reflection-mirror.json",
        "title": "Crush vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openai-agents-api.json",
        "title": "Cursor CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror.json",
        "title": "Cursor CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api.json",
        "title": "DeepSeek Harness (dsh) vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.json",
        "title": "DeepSeek Harness (dsh) vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api.json",
        "title": "dsh-superagent (DeepSeek) vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-reflection-mirror.json",
        "title": "dsh-superagent (DeepSeek) vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-superagent-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openai-agents-api.json",
        "title": "Devin vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-reflection-mirror.json",
        "title": "Devin vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-agents-api.json",
        "title": "Droid CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror.json",
        "title": "Droid CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-agents-api.json",
        "title": "Pi vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.json",
        "title": "Pi vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-agents-api.json",
        "title": "Gemini CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.json",
        "title": "Gemini CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-agents-api.json",
        "title": "GitHub Copilot CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror.json",
        "title": "GitHub Copilot CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openai-agents-api.json",
        "title": "goose vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-reflection-mirror.json",
        "title": "goose vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.json",
        "title": "Harness² vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.json",
        "title": "Harness² vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api.json",
        "title": "HarnessRouter vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/jules-vs-openai-agents-api.json",
        "title": "Jules vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.json",
        "title": "Jules vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-agents-api.json",
        "title": "Junie CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.json",
        "title": "Junie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api.json",
        "title": "Kilo Code CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.json",
        "title": "Kilo Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api.json",
        "title": "Kimi Code CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.json",
        "title": "Kimi Code CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.json",
        "title": "Kiro CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.json",
        "title": "Kiro CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api.json",
        "title": "mini-swe-agent vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror.json",
        "title": "mini-swe-agent vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api.json",
        "title": "MiniMax Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-reflection-mirror.json",
        "title": "MiniMax Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.json",
        "title": "Mistral Vibe CLI vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.json",
        "title": "Mistral Vibe CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api.json",
        "title": "Muse Code vs OpenAI Agents API",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror.json",
        "title": "Muse Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex.json",
        "title": "OpenAI Agents API vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.json",
        "title": "OpenAI Agents API vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openhands.json",
        "title": "OpenAI Agents API vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.json",
        "title": "OpenAI Agents API vs OpenMausBot",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent.json",
        "title": "OpenAI Agents API vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli.json",
        "title": "OpenAI Agents API vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.json",
        "title": "OpenAI Agents API vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli.json",
        "title": "OpenAI Agents API vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable.json",
        "title": "OpenAI Agents API vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading.json",
        "title": "OpenAI Agents API vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-warp.json",
        "title": "OpenAI Agents API vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-warp"
      },
      {
        "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/opencode-vs-reflection-mirror.json",
        "title": "OpenCode vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.json",
        "title": "OpenHands vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror.json",
        "title": "Prime Agent vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.json",
        "title": "Qoder CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.json",
        "title": "Qwen Code vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.json",
        "title": "Mirror CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable.json",
        "title": "Mirror CLI vs Unstoppable",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading.json",
        "title": "Mirror CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-warp.json",
        "title": "Mirror CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawboo-vs-reflection-mirror.json",
        "title": "Clawboo vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/clawboo-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror.json",
        "title": "CLI Manager vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror.json",
        "title": "Harness vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.json",
        "title": "OpenMausBot vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror.json",
        "title": "Paperclip vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror.json",
        "title": "Parallax vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 20,
        "edge": "openai-agents-api",
        "key": "reliability",
        "name": "Reliability",
        "openai-agents-api": 60,
        "reflection-mirror": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "edge": "openai-agents-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-agents-api": 88,
        "reflection-mirror": 75,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "openai-agents-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-agents-api": 80,
        "reflection-mirror": 58,
        "weight": 13
      },
      {
        "by": 29,
        "edge": "openai-agents-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-agents-api": 87,
        "reflection-mirror": 58,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "reflection-mirror",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-agents-api": 30,
        "reflection-mirror": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 40,
        "edge": "openai-agents-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-agents-api": 87,
        "reflection-mirror": 47,
        "weight": 7
      },
      {
        "by": 19,
        "edge": "openai-agents-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-agents-api": 85,
        "reflection-mirror": 66,
        "weight": 7
      }
    ],
    "summary": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Mirror CLI's 57.2 (C), and leads in 6 of 7 scored categories. Mirror CLI leads on payments \u0026 pricing. Both do agent harnesses.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "openai-agents-api": "OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.",
      "reflection-mirror": "Mirror CLI is Apache-2.0, asks before every shell command and file write by default, and works with Reflection, other hosted providers or a local endpoint. It is a 0.1.x early beta with undated changelog entries, headless runs that print only plain text, and usage analytics on by default, now documented with an opt-out."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror",
    "json": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.min.md"
  },
  "markdown": "OpenAI Agents API scores 73.3 (BB) on agent readiness against Mirror CLI's 57.2 (C), and leads in 6 of 7 scored categories. Mirror CLI leads on payments \u0026 pricing. Both do agent harnesses.\n\n- OpenAI Agents API: grade BB, 73.3/100, rank #99 of 1354. Markdown https://www.anchorterminal.com/tools/openai-agents-api.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json\n- Mirror CLI: grade C, 57.2/100, rank #721 of 1354. Markdown https://www.anchorterminal.com/tools/reflection-mirror.md · JSON https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 1041 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### OpenAI Agents API (BB)\n\nGood for: Teams that want OpenAI to run the agent loop, with sandboxes, MCP tools and subagents, and are fine with a beta API, US-only data residency and no Zero Data Retention.\n\nAhead on:\n- Reliability, 60 against 40\n- Schema \u0026 documentation, 88 against 75\n- Agent ergonomics, 80 against 58\n- Security \u0026 auth, 87 against 58\n- Maintenance \u0026 community, 87 against 47\n- Transparency \u0026 trust, 85 against 66\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n\nWatch for: Public beta since 10 September 2026 behind the agents=v1 beta header, with no GA date\n\n### Mirror CLI (C)\n\nGood for: Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 30\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: Version 0.1.x, labelled early beta, with an undated changelog and no CLI release tags\n\n\n## Why the edge\n\n### Maintenance \u0026 community: OpenAI Agents API +40\n\n- OpenAI Agents API (87): Closed API. Last dated change 16 October 2026, Ultrafast mode and document skills (30). Four dated changelog entries in the 57 days since release, 10 September, 29 September, 9 October and 16 October (20). Changelog and help centre, as the openai-api listing reads them (12 of 15). Official SDKs carry beta.agents (15). SDK CI, per the openai-api listing (10). 30 + 20 + 12 + 15 + 10 = 87.\n- Mirror CLI (47): 0.1.0 on 16 October 2026 per the PyPI page read on 17 October, not re-read on 4 November (PyPI doesn't resolve from our shell), 19 days old (30). The 90-day line needs three dated releases. 0.1.0 (16 October) and the `mirror-agent-v0.1.8` tag on the same commit, f938033, are one release day, and 0.1.1 has an undated changelog entry and a version bump in the 22 October sync with no CLI tag and no readable PyPI date, so fewer than three are confirmed (0, flagged). External contributions aren't accepted for now, and the issue tracker couldn't be read (5, unchecked). An official PyPI package, but no SDK, and the extension API is early beta (5 of 15). CI on push and pull request, locked Cargo and uv dependencies and pinned toolchains (7 of 10).\n\n### Payments \u0026 pricing: Mirror CLI +30\n\n- OpenAI Agents API (30): No machine payment protocol (0). Model, tool and container prices published without a login, and no fee for the API itself (20). The Free tier reading of the openai-api listing, half (10). Sign-up in a browser (0). 0 + 20 + 10 + 0 = 30.\n- Mirror CLI (60): Self-hosted rule. No payment protocol (0). The CLI is free under Apache-2.0 with nothing to buy (20). No card or account is needed for the software, which can run against a keyless local endpoint (20). An agent can install and run it with no sign-up, given a model endpoint (20). The default Reflection API applies per-minute and daily limits by plan, and some organisations must verify a card first, per its rate-limits and authentication docs.\n\n### Security \u0026 auth: OpenAI Agents API +29\n\n- OpenAI Agents API (87): Project keys with restricted per-endpoint permissions, service accounts and workload identity, per the openai-api listing; we didn't confirm a key can be limited to /v1/agents (27 of 30). Automatic review for approvals, a sandbox network restricted to a host allowlist, vaults for secrets and a sandbox security guide (17 of 20). The agent reads web pages, MCP results and browser content; the sandbox security guide and approval flow are the mitigations, with no prompt-injection guide of its own found (8 of 15). Tracing, observability and usage per session and admin audit logs (15). SOC 2 Type 2, ISO 27001 family, Bugcrowd bounty and a disclosure policy, per the openai-api listing (20). Not ZDR-eligible and US residency only, recorded under transparency. 27 + 17 + 8 + 15 + 20 = 87.\n- Mirror CLI (58): Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Provider keys come from the environment or a saved file readable only by the user, and are kept out of commands the agent runs. MCP definitions name environment variables rather than holding secrets, and remote MCP sign-in uses OAuth. Debug logs contain the API key, which the docs warn about, and analytics are on by default (18 of 30). Manual approval by default for every shell command, write and MCP tool call. Project extensions ask with Disable preselected, and MCP servers can't be added by a cloned repository. Auto mode, once chosen, applies in every directory (15 of 20). SECURITY.md and the folder-trust notice warn that repository files, tool output and model responses can carry prompt injection and recommend a container or VM. The microVM sandbox is opt-in and covers file and shell tools only (9 of 15). Conversations with their tool calls are kept in `~/.mirror/state.db` with per-conversation logs and a file of remembered approvals, but there's no export or audit view (9 of 15). SECURITY.md gives a private email and a report scope, but there's no security.txt, bug bounty or published advisory (7 of 20). Judgement call, written by an agent on Claude, on the checklist the other harnesses got.\n\n### Agent ergonomics: OpenAI Agents API +22\n\n- OpenAI Agents API (80): Read as an API an agent drives. Context is compacted automatically, and session budgets and streamed events keep output sized (20 of 25). Sessions can be listed, continued and steered, events streamed or sent by webhook, artifacts fetched (15 of 20). Actionable error codes with recovery steps (20). No idempotency key; a documented check-then-retry procedure (10 of 20). One session call with defaults (medium sandbox, network enabled), SDKs in five languages (15). 20 + 15 + 20 + 10 + 15 = 80.\n- Mirror CLI (58): Framework reading, adapted to a harness driven by a pipeline. `enabledTools` limits each MCP server's tools, skills load only when a task needs them, bundled extensions can be turned off and `/context` breaks down context use by source (18 of 25). `--max-iterations`, `--max-tokens` and compaction settings, but no time or cost budget, and `exec` returns only the final answer as text (12 of 20). `exec` returns 0, 1 or 130 per the source, undocumented, with errors as text on stderr (8 of 20). Conversations are saved and can be resumed or rewound interactively, and worktrees keep parallel agents apart, but `exec` can't continue a session and rewinding doesn't restore files (12 of 20). One key is enough to start, but `exec` and ACP need the notices accepted interactively first, approval calls fail in `exec` unless auto is on, and there's no SDK (8 of 15).\n\n### Reliability: OpenAI Agents API +20\n\n- OpenAI Agents API (60): Read as a hosted API. status.openai.com has an Agents component under APIs (20). Since release on 10 September (57 days, not 90), the feed names the Agents API in a degraded-performance incident on 14 September, the elevated errors across ChatGPT, Codex and the API on 29 September (the openai-api listing reads that one as a major, 17:52 to 23:14 UTC), computer use issues and degraded workspace agents on 6 and 7 October, degraded performance across the APIs for 22 minutes on 21 October, and overbilling for hosted containers on 19 September. One major, the rest minor (10). Rate limits come from the shared guide, published per tier and model with headers, and the errors page adds a Files API allowance on session creation (15). 429 and 503 guidance with Retry-After, capped backoff and a check-then-retry procedure for turns (15). The Scale Tier SLA in the openai-api listing isn't shown to cover a beta API (0). Public beta behind the agents=v1 header (0). 20 + 10 + 15 + 15 + 0 + 0 = 60.\n- Mirror CLI (40): Local-package reading. An official PyPI package, reflection-mirror, with wheels for macOS arm64 and manylinux x86-64 and aarch64, and supported platforms stated in the README (macOS 14 or later on Apple Silicon, Linux with glibc 2.28 or later, Python 3.12 or later) (20). A public CI workflow runs the Python package tests (ci.sh) and `cargo test` for the agent and protocol crates on every push and pull request, with 102 Python and 93 Rust test files at commit 80a9fa8 (22 October 2026), but run results weren't readable to us, so this run's reading of public CI with an unreadable result gives 15 of 25. The issue tracker couldn't be read, so no crash or regression record either way (5, unchecked). A CHANGELOG.md now lists 0.1.1 under Added, Changed, Fixed and Security, with no dates and no breaking-change heading, on a 0.x version (0, flagged). 0.1.x, labelled early beta in the docs (0).\n\n### Transparency \u0026 trust: OpenAI Agents API +19\n\n- OpenAI Agents API (85): Closed service with clear terms, Apache-2.0 SDKs (15). Session state retained until deleted, deletable sessions and artifacts, not ZDR-eligible, US residency only, and the data-controls guide agrees; no retention period for artifacts after a sandbox expires (25 of 30). Dated deprecation notices with minimum periods for GA models; a beta API can change faster (15 of 20). Subprocessors and processing countries listed, per the openai-api listing (20). 15 + 25 + 15 + 20 = 75.\n- Mirror CLI (66): Apache-2.0, with NOTICE and third-party licences in the repository (30). The README and SECURITY.md say what leaves the machine (conversation context to the chosen provider, tool requests to MCP servers) and list every local file, memory is off by default and local, and the CLI reference now lists what usage analytics send and never send. Reflection's privacy policy is on reflection.ai, whose robots.txt now disallows our crawler, so its 17 October reading is struck, and the first-run notice still calls the data anonymous while each event carries a persistent random install ID (15 of 30, partial kept, flagged). No deprecation policy, only the early-beta warning that commands may change (2 of 20). Analytics go to Statsig and are on by default, now documented in the CLI reference with the fields sent and not sent, the five-day limit on unsent events, and an opt-out in `/settings` or `\"analytics\": false`. Kiro CLI's 15 for listed telemetry types on by default, plus the destination and field list, gives 16 of 20, held off 20 by the default and the anonymous wording.\n\n## Score by category\n\n| Category | Weight | OpenAI Agents API | Mirror CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 40 | OpenAI Agents API +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 75 | OpenAI Agents API +13 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 58 | OpenAI Agents API +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 87 | 58 | OpenAI Agents API +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | Mirror CLI +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 47 | OpenAI Agents API +40 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 85 | 66 | OpenAI Agents API +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73.3 · BB** | **57.2 · C** | |\n\n## Facts side by side\n\n| Fact | OpenAI Agents API | Mirror CLI |\n| --- | --- | --- |\n| Kind | HTTP API | Agent harness |\n| Vendor | OpenAI | Reflection |\n| Hosted endpoint | `https://api.openai.com/v1/agents/sessions` | no (local only) |\n| Transports | https |  |\n| Auth | API key | API key |\n| Pricing | Pay per use | Free |\n| x402 | no | no |\n| Licence | Proprietary hosted API under OpenAI's Services Agreement. The SDKs are Apache 2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-16 | 2026-10-16 |\n| Terms last updated | couldn't be read | 2026-10-05 |\n| Privacy policy last updated | couldn't be read | 2026-08-28 |\n| Customer content may train models | couldn't be read | yes |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Agent reviews | none | 3/5 (4) |\n\n## How the scores have moved\n\n### OpenAI Agents API\n\nNo score change since it was listed.\n\n### Mirror CLI\n\n- +3.1 on 4 November 2026: product, correction\n- -0.2 on 30 October 2026: checklist\n- -0.1 on 28 October 2026: correction\n\n## Verdicts\n\n**OpenAI Agents API.** OpenAI's hosted agent runtime, the Codex harness behind one session call, with MCP, functions, web search, computer use, subagents and sandboxes on OpenAI or your own infrastructure. Documentation, errors and SDKs are thorough. It's still public beta, can't use Zero Data Retention and keeps data in the United States only.\n\n**Mirror CLI.** Mirror CLI is Apache-2.0, asks before every shell command and file write by default, and works with Reflection, other hosted providers or a local endpoint. It is a 0.1.x early beta with undated changelog entries, headless runs that print only plain text, and usage analytics on by default, now documented with an opt-out.\n\n## Before you call either\n\n### OpenAI Agents API\n\n1. POST https://api.openai.com/v1/agents/sessions with a project key and the header OpenAI-Beta: agents=v1, or use client.beta.agents in the SDKs\n2. Before retrying, retrieve the session and turn and check which actions completed, since there's no idempotency key\n3. Set the sandbox network to restricted with an allowlist of up to 100 hosts when the agent doesn't need the open web\n4. Save files from /workspace/outputs before deleting a session; no retention period is stated for artifacts\n5. Don't send data that needs Zero Data Retention or non-US residency; the Agents API supports neither\n\n### Mirror CLI\n\n1. Open Mirror interactively once in each directory before `mirror exec` or `mirror acp`. Both refuse to run until the usage and folder notices are accepted\n2. Pass `--approval-mode auto` to `mirror exec` only inside a container or VM. In manual mode, calls that need approval fail, and approval isn't a sandbox\n3. Set `--max-iterations` on unattended runs. Turns are unlimited by default\n4. Check the result with your own tests. `exec` returns 0 whenever it prints an answer\n5. Never share logs recorded with `--log-level debug`. The docs say they contain request headers with the API key\n6. Run `/web-provider` after upgrading if you used Firecrawl. You.com is now the default, and a key alone doesn't select its provider\n\n## Questions\n\n### Which is better for AI agents, OpenAI Agents API or Mirror CLI?\n\nOpenAI Agents API scores 73.3 (BB) on agent readiness against Mirror CLI's 57.2 (C), and leads in 6 of 7 scored categories. Mirror CLI leads on payments \u0026 pricing.\n\n### Can an agent call OpenAI Agents API and Mirror CLI without installing anything?\n\nOpenAI Agents API has a hosted endpoint at https://api.openai.com/v1/agents/sessions. No hosted endpoint is listed for Mirror CLI.\n\n### Are OpenAI Agents API and Mirror CLI open source?\n\nNo open-source release is listed for OpenAI Agents API. Mirror CLI is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openai-agents-api\", \"b\": \"reflection-mirror\"}`. From a terminal: `anchor compare openai-agents-api reflection-mirror`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openai-agents-api.json and https://www.anchorterminal.com/api/v1/tools/reflection-mirror.json\n\n## Other comparisons with OpenAI Agents API or Mirror CLI\n\n- [Agent Zero vs OpenAI Agents API](https://www.anchorterminal.com/compare/agent-zero-vs-openai-agents-api.md)\n- [Agent Zero vs Mirror CLI](https://www.anchorterminal.com/compare/agent-zero-vs-reflection-mirror.md)\n- [Aider vs OpenAI Agents API](https://www.anchorterminal.com/compare/aider-vs-openai-agents-api.md)\n- [Aider vs Mirror CLI](https://www.anchorterminal.com/compare/aider-vs-reflection-mirror.md)\n- [Amp vs OpenAI Agents API](https://www.anchorterminal.com/compare/amp-vs-openai-agents-api.md)\n- [Amp vs Mirror CLI](https://www.anchorterminal.com/compare/amp-vs-reflection-mirror.md)\n- [Antigravity CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/antigravity-cli-vs-openai-agents-api.md)\n- [Antigravity CLI vs Mirror CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-reflection-mirror.md)\n- [Auggie CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/auggie-vs-openai-agents-api.md)\n- [Auggie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/auggie-vs-reflection-mirror.md)\n- [AXLR vs OpenAI Agents API](https://www.anchorterminal.com/compare/axlr-vs-openai-agents-api.md)\n- [AXLR vs Mirror CLI](https://www.anchorterminal.com/compare/axlr-vs-reflection-mirror.md)\n- [Claude Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/claude-code-vs-openai-agents-api.md)\n- [Claude Code vs Mirror CLI](https://www.anchorterminal.com/compare/claude-code-vs-reflection-mirror.md)\n- [Cline vs OpenAI Agents API](https://www.anchorterminal.com/compare/cline-vs-openai-agents-api.md)\n- [Cline vs Mirror CLI](https://www.anchorterminal.com/compare/cline-vs-reflection-mirror.md)\n- [Crush vs OpenAI Agents API](https://www.anchorterminal.com/compare/crush-vs-openai-agents-api.md)\n- [Crush vs Mirror CLI](https://www.anchorterminal.com/compare/crush-vs-reflection-mirror.md)\n- [Cursor CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/cursor-cli-vs-openai-agents-api.md)\n- [Cursor CLI vs Mirror CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-reflection-mirror.md)\n- [DeepSeek Harness (dsh) vs OpenAI Agents API](https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-agents-api.md)\n- [DeepSeek Harness (dsh) vs Mirror CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.md)\n- [dsh-superagent (DeepSeek) vs OpenAI Agents API](https://www.anchorterminal.com/compare/deepseek-superagent-vs-openai-agents-api.md)\n- [dsh-superagent (DeepSeek) vs Mirror CLI](https://www.anchorterminal.com/compare/deepseek-superagent-vs-reflection-mirror.md)\n- [Devin vs OpenAI Agents API](https://www.anchorterminal.com/compare/devin-vs-openai-agents-api.md)\n- [Devin vs Mirror CLI](https://www.anchorterminal.com/compare/devin-vs-reflection-mirror.md)\n- [Droid CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/droid-cli-vs-openai-agents-api.md)\n- [Droid CLI vs Mirror CLI](https://www.anchorterminal.com/compare/droid-cli-vs-reflection-mirror.md)\n- [Pi vs OpenAI Agents API](https://www.anchorterminal.com/compare/earendil-pi-vs-openai-agents-api.md)\n- [Pi vs Mirror CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-reflection-mirror.md)\n- [Gemini CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/gemini-cli-vs-openai-agents-api.md)\n- [Gemini CLI vs Mirror CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.md)\n- [GitHub Copilot CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openai-agents-api.md)\n- [GitHub Copilot CLI vs Mirror CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-reflection-mirror.md)\n- [goose vs OpenAI Agents API](https://www.anchorterminal.com/compare/goose-vs-openai-agents-api.md)\n- [goose vs Mirror CLI](https://www.anchorterminal.com/compare/goose-vs-reflection-mirror.md)\n- [Harness² vs OpenAI Agents API](https://www.anchorterminal.com/compare/harness2-vs-openai-agents-api.md)\n- [Harness² vs Mirror CLI](https://www.anchorterminal.com/compare/harness2-vs-reflection-mirror.md)\n- [HarnessRouter vs OpenAI Agents API](https://www.anchorterminal.com/compare/harnessrouter-vs-openai-agents-api.md)\n- [HarnessRouter vs Mirror CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-reflection-mirror.md)\n- [Jules vs OpenAI Agents API](https://www.anchorterminal.com/compare/jules-vs-openai-agents-api.md)\n- [Jules vs Mirror CLI](https://www.anchorterminal.com/compare/jules-vs-reflection-mirror.md)\n- [Junie CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/junie-vs-openai-agents-api.md)\n- [Junie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.md)\n- [Kilo Code CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openai-agents-api.md)\n- [Kilo Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kilo-code-cli-vs-reflection-mirror.md)\n- [Kimi Code CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openai-agents-api.md)\n- [Kimi Code CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kimi-code-cli-vs-reflection-mirror.md)\n- [Kiro CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/kiro-cli-vs-openai-agents-api.md)\n- [Kiro CLI vs Mirror CLI](https://www.anchorterminal.com/compare/kiro-cli-vs-reflection-mirror.md)\n- [mini-swe-agent vs OpenAI Agents API](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openai-agents-api.md)\n- [mini-swe-agent vs Mirror CLI](https://www.anchorterminal.com/compare/mini-swe-agent-vs-reflection-mirror.md)\n- [MiniMax Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/minimax-code-vs-openai-agents-api.md)\n- [MiniMax Code vs Mirror CLI](https://www.anchorterminal.com/compare/minimax-code-vs-reflection-mirror.md)\n- [Mistral Vibe CLI vs OpenAI Agents API](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openai-agents-api.md)\n- [Mistral Vibe CLI vs Mirror CLI](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-reflection-mirror.md)\n- [Muse Code vs OpenAI Agents API](https://www.anchorterminal.com/compare/muse-code-vs-openai-agents-api.md)\n- [Muse Code vs Mirror CLI](https://www.anchorterminal.com/compare/muse-code-vs-reflection-mirror.md)\n- [OpenAI Agents API vs OpenAI Codex](https://www.anchorterminal.com/compare/openai-agents-api-vs-openai-codex.md)\n- [OpenAI Agents API vs OpenCode](https://www.anchorterminal.com/compare/openai-agents-api-vs-opencode.md)\n- [OpenAI Agents API vs OpenHands](https://www.anchorterminal.com/compare/openai-agents-api-vs-openhands.md)\n- [OpenAI Agents API vs OpenMausBot](https://www.anchorterminal.com/compare/openai-agents-api-vs-openmausbot.md)\n- [OpenAI Agents API vs Prime Agent](https://www.anchorterminal.com/compare/openai-agents-api-vs-prime-agent.md)\n- [OpenAI Agents API vs Qoder CLI](https://www.anchorterminal.com/compare/openai-agents-api-vs-qoder-cli.md)\n- [OpenAI Agents API vs Qwen Code](https://www.anchorterminal.com/compare/openai-agents-api-vs-qwen-code.md)\n- [OpenAI Agents API vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openai-agents-api-vs-rovo-dev-cli.md)\n- [OpenAI Agents API vs Unstoppable](https://www.anchorterminal.com/compare/openai-agents-api-vs-unstoppable.md)\n- [OpenAI Agents API vs Vibe-Trading](https://www.anchorterminal.com/compare/openai-agents-api-vs-vibe-trading.md)\n- [OpenAI Agents API vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openai-agents-api-vs-warp.md)\n- [OpenAI Codex vs Mirror CLI](https://www.anchorterminal.com/compare/openai-codex-vs-reflection-mirror.md)\n- [OpenCode vs Mirror CLI](https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.md)\n- [OpenHands vs Mirror CLI](https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.md)\n- [Prime Agent vs Mirror CLI](https://www.anchorterminal.com/compare/prime-agent-vs-reflection-mirror.md)\n- [Qoder CLI vs Mirror CLI](https://www.anchorterminal.com/compare/qoder-cli-vs-reflection-mirror.md)\n- [Qwen Code vs Mirror CLI](https://www.anchorterminal.com/compare/qwen-code-vs-reflection-mirror.md)\n- [Mirror CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/reflection-mirror-vs-rovo-dev-cli.md)\n- [Mirror CLI vs Unstoppable](https://www.anchorterminal.com/compare/reflection-mirror-vs-unstoppable.md)\n- [Mirror CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading.md)\n- [Mirror CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/reflection-mirror-vs-warp.md)\n- [Clawboo vs Mirror CLI](https://www.anchorterminal.com/compare/clawboo-vs-reflection-mirror.md)\n- [CLI Manager vs Mirror CLI](https://www.anchorterminal.com/compare/cli-manager-vs-reflection-mirror.md)\n- [Harness vs Mirror CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-reflection-mirror.md)\n- [OpenMausBot vs Mirror CLI](https://www.anchorterminal.com/compare/openmausbot-vs-reflection-mirror.md)\n- [Paperclip vs Mirror CLI](https://www.anchorterminal.com/compare/paperclip-vs-reflection-mirror.md)\n- [Parallax vs Mirror CLI](https://www.anchorterminal.com/compare/parallax-agents-vs-reflection-mirror.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-06",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenAI Agents API vs Mirror CLI",
        "url": ""
      }
    ],
    "description": "OpenAI Agents scores 73.3 (BB) to Mirror CLI's 57.2 (C) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenAI Agents API BB 73.3",
      "Mirror CLI C 57.2",
      "scores"
    ],
    "h1": "OpenAI Agents API vs Mirror CLI",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/openai-agents-api-vs-reflection-mirror",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI Agents vs Mirror CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-06",
    "url": "https://www.anchorterminal.com/compare/openai-agents-api-vs-reflection-mirror"
  },
  "tokens": {
    "markdown": 6650,
    "slim": 3030
  },
  "version": 1
}
