OpenAI Agents SDK vs Claude Agent SDK
OpenAI Agents SDK
OpenAI
Claude Agent SDK wins · 14–17 (16 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to Claude Agent SDKOpenAI's developer platform exposes a live llms.txt (HTTP 200) and markdown-formatted docs pages explicitly designed for agent consumption, which an agent built with the Agents SDK could be pointed at directly. missing for 10: no first-party doc or example showing the Agents SDK itself fetching/parsing llms.txt as a built-in feature, and no independent hands-on report confirming an agent successfully using it end-to-end.
- [probe] “PROBE llms.txt: HTTP 200 at https://developers.openai.com/llms.txt # OpenAI Developers > Complete documentation hub for OpenAI API, Ads, Pl…”
- [probe] “PROBE docs-md: HTTP 200 at https://developers.openai.com/api/docs/guides/agents.md # Agents > For the complete documentation index, see [ll…”
- [claimed-docs] “The WebSearchTool lets an agent search the web.”
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own to expose filesystem, …”
Probes confirm the product ships an official llms.txt at code.claude.com/llms.txt (HTTP 200) and markdown-formatted agent-oriented docs (e.g., overview.md) with an explicit documentation index pointer for agents to fetch, directly enabling an AI-native user to point an agent at these resources. Missing for 10: independent third-party confirmation that agents successfully consume this llms.txt in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://code.claude.com/llms.txt # Claude Code Docs > Official documentation for Claude Code, Anthropic's agent…”
- [probe] “PROBE docs-md: HTTP 200 at https://code.claude.com/docs/en/agent-sdk/overview.md > ## Documentation Index > Fetch the complete documentation…”
- [probe] “official CLI documented at https://code.claude.com/docs/en/cli-reference”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to Claude Agent SDKThe SDK is a pure Python/JS library invoked programmatically via Runner.run(), run_sync(), or run_streamed() with no UI dependency, making it inherently usable in scripts, servers, or CI pipelines; tracing/session features work headlessly too. Missing for 10: explicit CI/automation setup docs, example GitHub Actions/pipeline configs, or independent reports of production CI usage.
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “You can run agents via the `Runner` class. You have 3 options: `Runner.run()`... `Runner.run_sync()`... `Runner.run_streamed()`”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
Docs describe headless/non-interactive automation (subprocess-based CLI, `claude -p`, hosting guide covering Docker/Kubernetes/production deployment, quickstart for autonomous bug-fixing 'without manual intervention'), and a community report confirms a user built 'an entire headless automated workflow around claude -p', corroborating real-world CI-style use. Missing for 10: dedicated CI/CD pipeline examples (e.g. GitHub Actions template) and independent benchmarking of reliability/observability in automated pipelines, and some community friction over harness DX/observability in headless mode tempers the score.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “Use the Agent SDK to build an AI agent that reads your code, finds bugs, and fixes them, all without manual intervention.”
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · round to OpenAI Agents SDKDocs explicitly state the Agents SDK understands multiple MCP transports, letting users reuse existing MCP servers or build their own to expose filesystem, HTTP, or connector-backed tools to an agent, and also supports hosted MCP as a managed tool option. This directly matches the story of plugging in MCP servers to use their tools. Missing for 10: independent/hands-on corroboration beyond first-party docs.
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own to expose filesystem, …”
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own”
- [claimed-docs] “Use OpenAI-managed tools (web search, file search, code interpreter, hosted MCP, image generation)”
Dedicated first-party MCP docs describe connecting the agent to external MCP servers to query databases, integrate with Slack/GitHub, and use other services without custom tool code, and this integrates with the SDK's permission/tool-use system. Missing for 10: independent/hands-on corroboration of MCP server plugging (community evidence covers licensing/UX complaints, not MCP integration specifically) and configuration-level detail beyond the overview.
- [claimed-docs] “With MCP, your agent can query databases, integrate with APIs like Slack and GitHub, and connect to other services without writing custom to…”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
ai-native userUse an official CLI
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10The evidence pack is entirely about the Agents SDK library (Python/JS) — agent primitives, tools, tracing, sessions, MCP, streaming — with no mention of an official CLI tool for scaffolding, running, or managing agents; OpenAPI/CLI probes returned 404s.
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
The SDK bundles and documents an official `claude` CLI (auto-installed subprocess, dedicated CLI reference page), and community members confirm building real headless automation with `claude -p`. However, hands-on reports cite real friction (poor observability, scroll/render bugs, and new usage-policy restrictions on CLI-based SDK apps), so it works but with notable rough edges. Missing for 10: independent quality benchmarks of the CLI experience, resolution of the harness UX complaints (flashing, scroll issues, lack of observability), and clarity on usage-policy restrictions affecting CLI workflows.
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [probe] “official CLI documented at https://code.claude.com/docs/en/cli-reference”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
- [community] “There is no difference between claude -p and typing into their 'harness' in tmux. They want to make you pay for API which is subsidizing the…”
- [community] “I've been using claude -p with a harness called codelayer. Their [default] harness is completely garbage when it comes at displaying full de…”
ai-native userDrive the product through a documented public API
weight 3 · round to Claude Agent SDKThe SDK is extensively documented as a Python/JS library with a public, well-documented API surface (Agents, Runner, Tools, Handoffs, Guardrails, Sessions, Tracing, MCP) that AI-native developers can drive programmatically, corroborated by GitHub docs and community usage reports. Missing for 10: a formal OpenAPI/machine-readable spec (probe found openapi.json 404) and deeper independent third-party validation of full API coverage.
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “FunctionTool instances: wrap any Python function as a tool.”
- [claimed-docs] “Handoffs allow an agent to delegate tasks to another agent. This is particularly useful in scenarios where different agents specialize in di…”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [community] “OpenAI SDK is much simpler to use and understand than langchain etc. I havent deployed really complicated agents, but I have a number of sim…”
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
The Agent SDK is extensively documented as a public, programmable API (Python/TypeScript) covering tools, hooks, subagents, MCP, permissions, sessions, streaming, structured outputs, and hosting, with a bundled CLI and migration guides from other agent SDKs. Community evidence corroborates real hands-on use of the API (headless workflows via `claude -p`) even amid unrelated billing-policy friction. Missing for 10: independent third-party technical review confirming API stability/versioning guarantees beyond first-party docs.
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “With MCP, your agent can query databases, integrate with APIs like Slack and GitHub, and connect to other services without writing custom to…”
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “Use ClaudeSDKClient for interactive applications such as chat interfaces, or when the next action depends on Claude's response.”
- [claimed-docs] “Migrating from the OpenAI Agents SDK instead? The OpenAI Agents SDK migration recipe maps each primitive onto the Claude Agent SDK through a…”
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10No evidence of scoped or least-privilege API credential issuance for agents; the docs cover tools, handoffs, guardrails, tracing, sessions, MCP, and sandboxing but nothing about credential scoping or per-agent API key permissions. This is a plausible axis for an agent SDK (credential/permission management is a reasonable capability), but no evidence supports it. missing for 10: any mention of scoped/least-privilege credential issuance, API key scoping, or permission boundaries for agents.
The SDK documents permission controls (permission modes, rules, and a canUseTool callback) that let developers restrict which tools/actions an agent can perform, which is a form of least-privilege control over agent behavior, but there is no evidence of a mechanism for issuing scoped/least-privilege API credentials or keys (e.g., limited-scope tokens for external API access) as distinct from tool-use permissioning. Missing for 10: explicit scoped-API-key/credential issuance feature, credential rotation/expiry controls, and any documentation tying permission modes to external API credential scoping.
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools.”
ai-native userBuild against official SDKs
weight 2 · round to OpenAI Agents SDKOpenAI Agents SDK is itself an official first-party SDK (Python and JS) with extensive documentation covering core primitives (agents, tools, handoffs, guardrails, tracing, sessions, streaming, MCP support, voice/realtime), and is corroborated by GitHub repo docs and community usage reports confirming real-world adoption. Missing for 10: deeper independent third-party production case studies beyond a couple of HN threads.
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own to expose filesystem, …”
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [community] “OpenAI SDK is much simpler to use and understand than langchain etc. I havent deployed really complicated agents, but I have a number of sim…”
Claude Agent SDK is itself the official first-party SDK (Python and TypeScript), with extensive documented APIs for tools, hooks, subagents, MCP, permissions, sessions, streaming, structured outputs, and production hosting, plus a GitHub package that bundles the CLI. This directly satisfies 'build against official SDKs' for an AI-native developer persona. Missing for 10: independent/hands-on corroboration of SDK ergonomics beyond vendor docs, and some community reports note DX friction/observability gaps with the default harness (not outright contradicting the capability but tempering the polish).
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Built-in tools | Read, write, edit files, run commands, and search the web”
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
- [claimed-docs] “Use ClaudeSDKClient for interactive applications such as chat interfaces, or when the next action depends on Claude's response.”
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [claimed-docs] “Migrating from the OpenAI Agents SDK instead? The OpenAI Agents SDK migration recipe maps each primitive onto the Claude Agent SDK through a…”
- [community] “I've been using claude -p with a harness called codelayer. Their [default] harness is completely garbage when it comes at displaying full de…”
ai-native userSubscribe to events via webhooks
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence shows in-process streaming/tracing for observing agent run events, but nothing about registering webhook URLs or subscribing to events via HTTP callbacks. No mention of webhook endpoints, event subscriptions, or push notifications anywhere in the docs or GitHub pack.
Agentic features
ai-native userSet up automations that run autonomously in the background
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10The docs describe how to run agents interactively (Runner.run/run_sync/run_streamed), track sessions, and trace runs, but there is no evidence of scheduling, triggers, or a hosting/orchestration layer that lets a user set up an automation to run autonomously in the background without manual invocation. missing for 10: scheduling/cron or event-trigger support, a deployment/hosting mechanism for unattended background execution, and any documentation of persistent autonomous operation outside a developer-invoked run.
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
The SDK supports headless/programmatic operation (streaming input, subprocess architecture, session persistence, hooks, custom tools) that enable building autonomous background automations, and community evidence confirms real users built 'headless automated workflows' with it. However, there's no dedicated scheduling/trigger mechanism for background automation, and community feedback raises concerns about restricted usage, observability gaps, and policy uncertainty for such non-interactive uses. Missing for 10: built-in scheduling/cron or trigger-based automation features, clear documentation of long-running unattended background execution, and resolution of the community-reported usage restrictions/observability complaints for headless workflows.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “Streaming input mode is the preferred way to use the Claude Agent SDK. It provides full access to the agent's capabilities and enables rich,…”
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
- [community] “There is no difference between claude -p and typing into their 'harness' in tmux. They want to make you pay for API which is subsidizing the…”
- [community] “My frustration with Anthropic has been around the uncertainty of all of this. What constitutes fair usage, what can I play with and not risk…”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round to Claude Agent SDKThe SDK's core primitives (Agent, Runner, Handoffs, Agents-as-tools) let a developer delegate tasks to an LLM-backed agent and even chain delegation between specialized agents, which is the closest analog to 'delegating tasks to a built-in assistant.' However, this is a developer framework rather than an end-user product with a ready-made assistant UI — the 'assistant' must be built and wired up by the developer, not delegated to out-of-the-box by an end user. Missing for 10: evidence of a ready-to-use, no-code assistant interface for non-developer end users, and independent hands-on confirmation of smooth task delegation in production.
- [claimed-docs] “Handoffs allow an agent to delegate tasks to another agent. This is particularly useful in scenarios where different agents specialize in di…”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “Agents as tools: expose an agent as a callable tool without a full handoff.”
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
The SDK is explicitly designed so a user/developer can delegate tasks—file edits, running commands, web search, subagent spawning—to an embedded Claude agent loop, with quickstart examples showing autonomous bug-fixing 'without manual intervention.' Some community friction exists around usage-policy and default harness UX, but no evidence contradicts the core delegation capability. missing for 10: independent hands-on validation of complex multi-step delegation scenarios beyond docs and quickstart examples.
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Built-in tools | Read, write, edit files, run commands, and search the web”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “Use the Agent SDK to build an AI agent that reads your code, finds bugs, and fixes them, all without manual intervention.”
- [claimed-docs] “Finance agents: Build agents that can understand your portfolio and goals, as well as help you evaluate investments by accessing external AP…”
ai-native userOperate the product with natural-language commands
weight 2 · round to Claude Agent SDKThe SDK's core primitive is an LLM agent configured with natural-language instructions that processes natural-language input via Runner.run(), with tools, handoffs, and streaming built around this NL-driven interaction model. This is the central, well-documented capability of the product across many docs pages. missing for 10: no evidence of a dedicated end-user-facing NL interface (e.g., CLI/chat UI) shipped with the SDK—interaction is at the API/code level rather than an out-of-the-box NL command surface, and no independent hands-on account of NL command usage.
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “You can run agents via the `Runner` class. You have 3 options: `Runner.run()`... `Runner.run_sync()`... `Runner.run_streamed()`”
- [claimed-docs] “Agents, which are LLMs equipped with instructions and tools”
- [claimed-docs] “Streaming lets you subscribe to updates of the agent run as it proceeds.”
The SDK is fundamentally natural-language driven: it's built on Claude Code's agent loop where users issue natural-language prompts/queries and the agent autonomously invokes tools, subagents, and permission flows in response (docs-1, docs-8, docs-9, docs-13, docs-26). Streaming interactive mode and the bundled CLI (claude -p) further confirm operation via conversational natural-language input rather than rigid commands. missing for 10: no independent hands-on demonstration of a non-technical user driving it purely via natural language without code/config, and community evidence focuses on licensing/harness complaints rather than confirming NL usability quality.
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “Use ClaudeSDKClient for interactive applications such as chat interfaces, or when the next action depends on Claude's response.”
- [claimed-docs] “It allows the agent to operate as a long lived process that takes in user input, handles interruptions, surfaces permission requests, and ha…”
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack shows only static documentation pages describing SDK concepts (agents, tools, handoffs, tracing) with no interactive API reference, no runnable code sandbox, and the OpenAPI/swagger probe explicitly returned 404 on all candidate paths, indicating no machine-readable interactive reference exists.
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
- [probe] “PROBE llms.txt: HTTP 200 at https://developers.openai.com/llms.txt # OpenAI Developers > Complete documentation hub for OpenAI API, Ads, Pl…”
- [probe] “PROBE docs-md: HTTP 200 at https://developers.openai.com/api/docs/guides/agents.md # Agents > For the complete documentation index, see [ll…”
Claude Agent SDKnone0/10The evidence pack shows extensive markdown-based documentation (overview, hooks, subagents, permissions, sessions, etc.) and llms.txt-style text docs, but nothing indicates an interactive API reference with runnable/embedded code examples (e.g., a browser-based sandbox or live code runner) — docs appear to be static reference pages only.
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round drawnOpenAI Agents SDKnone0/10The probe explicitly checked common OpenAPI spec locations and all returned 404, and no other evidence shows a machine-readable API spec being published for the Agents SDK.
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round to OpenAI Agents SDKThe SDK documents 'Sandbox agents' that run specialists inside real isolated workspaces with manifest-defined files and sandbox-native capabilities, plus a CodeInterpreterTool that executes code in a sandboxed environment — directly supporting isolated, non-production testing. missing for 10: independent/hands-on verification that isolation prevents production data access, and explicit guidance on how to configure sandbox vs production environments.
- [claimed-docs] “Sandbox agents: Run specialists inside real isolated workspaces. Sandbox agents support manifest-defined files, sandbox client selection, an…”
- [claimed-docs] “If the agent should run inside an isolated workspace with manifest-defined files and sandbox-native capabilities, read Sandbox agent concept…”
- [claimed-docs] “OpenAI offers a few built-in tools when using the OpenAIResponsesModel... The WebSearchTool lets an agent search the web. The FileSearchTool…”
Docs mention deploying the SDK in production with 'sandbox providers' and multi-tenant isolation (Docker/Kubernetes), plus permission/hook controls to block dangerous operations, which could support building a sandboxed test setup, but there is no explicit feature or guidance for testing against a sandbox without touching production data. Missing for 10: dedicated sandbox/test-mode documentation, explicit production-data isolation guarantees, and hands-on evidence of safe test usage.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack documents SDK features (agents, tools, tracing, handoffs) but contains no mention of API versioning scheme or a documented deprecation policy; the OpenAPI probe even returned 404s, and no versioning/deprecation docs are cited.
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
Claude Agent SDKnone0/10The evidence pack documents SDK features (tools, hooks, sessions, permissions) and a migration guide from a competing SDK, but contains no mention of API versioning, version numbers, a changelog, or a documented deprecation policy for the Agent SDK itself. Community threads discuss usage/billing policy shifts, which are off-topic to API versioning and deprecation guarantees.
Agents tools — stories about agents tools in this arenaAgents tools
Stories about agents tools in this arena
Agent authoring
developerDefine an agent with typed custom tools in a few lines of code
weight 3 · round to OpenAI Agents SDKDocs show agents defined with instructions/tools in a few lines, with FunctionTool wrapping any Python function via automatic schema generation and Pydantic-powered validation, giving typed custom tools with minimal boilerplate; community feedback corroborates the SDK's simplicity relative to alternatives. Missing for 10: no direct hands-on code snippet in evidence showing the exact few-line agent+tool definition, only docs descriptions.
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “FunctionTool instances: wrap any Python function as a tool.”
- [claimed-docs] “Function tools: Turn any Python function into a tool with automatic schema generation and Pydantic-powered validation.”
- [claimed-docs] “`FunctionTool` instances: wrap any Python function as a tool.”
- [community] “OpenAI SDK is much simpler to use and understand than langchain etc. I havent deployed really complicated agents, but I have a number of sim…”
Docs explicitly describe custom-tools support letting developers define their own functions Claude can call, with permission controls and callback hooks around tool use, indicating a lightweight typed-tool definition workflow. missing for 10: no concrete code snippet showing the 'few lines of code' typed tool definition, no independent/hands-on confirmation of ergonomics or type-safety guarantees.
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools.”
Ai buildability
ai-native userHave a coding agent scaffold a new agent project from an official CLI or template in one command
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack covers agent primitives, tools, handoffs, tracing, and MCP support, but there is no mention of an official CLI or project scaffolding/template command to bootstrap a new agent project in one step.
Claude Agent SDKnone0/10The evidence describes SDK features (tools, hooks, sessions, subagents) and a quickstart guide for building an agent, plus a bundled CLI, but nothing documents a single-command scaffold/template generator (e.g., an 'init' or 'create-agent' command) for starting a new agent project.
ai-native userRun the framework's example agents headlessly from a terminal so an agent can verify what it just built
weight 2 · round drawnRunner.run_sync() and run() enable headless CLI execution of agents, and tracing lets an agent's own run be verified programmatically, but there is no documented example agent or CLI harness specifically for an agent to verify what it just built. missing for 10: a ready-made example agent script for self-verification, CLI-specific documentation/tutorial, and independent confirmation of headless terminal usage for this exact workflow.
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “You can run agents via the `Runner` class. You have 3 options: `Runner.run()`... `Runner.run_sync()`... `Runner.run_streamed()`”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “Using the Traces dashboard, you can debug, visualize, and monitor your workflows during development and in production.”
The SDK bundles the claude CLI and supports headless/non-interactive use (claude -p, subprocess architecture, streaming vs single-shot modes) confirmed by both docs and community usage of `claude -p` in automated workflows, which supports the general capability of running agents headlessly from a terminal. However, there is no evidence of packaged 'example agents' shipped with the framework meant specifically for self-verification of what an agent just built, and community reports describe the harness as hacky with poor observability. missing for 10: documented example-agent repo/templates runnable headlessly, an explicit self-verification workflow, and hands-on confirmation the examples work smoothly out of the box.
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “Streaming input mode is the preferred way to use the Claude Agent SDK. It provides full access to the agent's capabilities and enables rich,…”
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
- [community] “I've been using claude -p with a harness called codelayer. Their [default] harness is completely garbage when it comes at displaying full de…”
- [claimed-docs] “Use the Agent SDK to build an AI agent that reads your code, finds bugs, and fixes them, all without manual intervention.”
ai-native userRely on strict typing and schema validation so a coding agent catches its own mistakes at build time
weight 2 · round to OpenAI Agents SDKDocs confirm automatic schema generation and Pydantic-powered validation for function tools and structured outputs, which supports catching malformed tool calls early, but this is runtime validation rather than true build-time/compile-time type checking, and no independent evidence corroborates catching agent mistakes at build time. missing for 10: evidence of compile-time/static type checking (e.g., TypeScript strict mode enforcement), independent hands-on validation of build-time error catching, and confirmation this applies uniformly across JS/Python SDKs.
- [claimed-docs] “Function tools: Turn any Python function into a tool with automatic schema generation and Pydantic-powered validation.”
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “FunctionTool instances: wrap any Python function as a tool.”
The SDK offers 'structured outputs' where you define a schema and get back validated JSON matching it, which is the closest evidence to schema validation, but this is runtime validation of agent output, not compile/build-time type checking of the agent's own reasoning or code as the story implies. There's no evidence of static type-checking integration, IDE-time error catching, or build-time validation gates for agent actions. missing for 10: explicit build-time/compile-time type-checking tooling, evidence of the agent catching its own mistakes before execution (not just output shape), IDE/linter integration for agent-authored code.
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent. ... you still get validated JSON matching your schema…”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent... you still get validated JSON matching your schema a…”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent.”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10The evidence describes agent orchestration primitives (tools, handoffs, streaming, tracing, sessions) but nothing documents built-in support for bulk/batch operations across many items at once; that would need to be custom-built by a developer using function tools.
The SDK supports programmatic automation (custom tools, subagents for parallel focused subtasks, headless/scriptable operation via claude -p, structured outputs) which can be composed to perform bulk operations across many items, but there is no explicit documentation of a bulk-operation primitive (e.g., batch processing many files/records with progress tracking, rate limiting, or a dedicated batch API). missing for 10: explicit bulk/batch operation APIs or examples, evidence of handling large item counts reliably, and independent confirmation of bulk-scale performance.
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “Custom tools extend the Agent SDK by letting you define your own functions that Claude can call during a conversation.”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks.”
- [community] “Damn. I just built an entire headless automated workflow around `claude -p`”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round to Claude Agent SDKThe SDK supports guardrails (validation checks that can block/alter agent behavior), human-in-the-loop interruptions when a tool call requires approval, and streaming to subscribe to run events — these act as limited event-triggered mechanisms within an agent run. However, there is no documented general-purpose rule engine or event/webhook trigger system for arbitrary external events. Missing for 10: explicit event-trigger/rule definition API (e.g., on-event listeners tied to external triggers), documentation of custom event-driven automation beyond guardrails/interruptions, and independent evidence of this pattern in practice.
- [claimed-docs] “Guardrails enable you to do checks and validations of user input and agent output.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
- [claimed-docs] “Streaming lets you subscribe to updates of the agent run as it proceeds. This can be useful for showing the end-user progress updates and pa…”
Hooks are explicitly documented as callback functions that run custom code in response to agent events (tool calls, session start, execution stop), enabling automatic actions like blocking dangerous operations before execution. Permission modes/rules further let users define what's allowed automatically. Missing for 10: independent/hands-on corroboration of hooks in real automation workflows, and more detail on the full range of triggerable event types/rule complexity.
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawnOpenAI Agents SDKnone0/10The Agents SDK provides primitives for running agents (Runner, streaming, sessions, tracing) but no evidence of a scheduler, cron-like trigger, or built-in mechanism for recurring/periodic job execution; scheduling would need to be built externally.
Claude Agent SDKnone0/10The evidence covers sessions, subagents, hooks, MCP, permissions, and hosting, but nowhere mentions a scheduler, cron-like trigger, or built-in mechanism for recurring/automated job execution—developers would need to build their own external scheduling infrastructure around the SDK. missing for 10: any built-in scheduling/cron primitive, recurring-trigger API, or workflow-automation feature for periodic execution.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “It allows the agent to operate as a long lived process that takes in user input, handles interruptions, surfaces permission requests, and ha…”
ai-native userVersion, review, and roll back my automations
weight 1 · round drawnOpenAI Agents SDKnone0/10The evidence covers agent orchestration, tracing, tools, memory, and MCP support, but there is no mention of versioning automations, review workflows, or rollback capabilities anywhere in the docs or community discussion. Tracing/debugging is observability, not version control or rollback.
Claude Agent SDKnone0/10The SDK documents session persistence, forking, and resuming conversation history (docs-7, docs-21, docs-24), but this is conversation/session state, not version control, review, or rollback of the automations/agent definitions themselves. There is no evidence of a versioning system, change review/approval workflow, or rollback mechanism for the automations a user builds with the SDK.
Deployment portability — stories about deployment portability in this arenaDeployment portability
Stories about deployment portability in this arena
Deployment
engineering-leadDeploy an agent to a managed runtime and call it as an API endpoint
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10The Agents SDK is a code framework for building and running agents locally/self-hosted (Runner class, sessions, tracing), but there is no evidence of a managed runtime/hosting service that deploys an agent and exposes it as a callable API endpoint; OpenAPI probes even 404. Sandbox agents run isolated workspaces for tool execution, not deployment-as-API.
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “Sandbox agents: Run specialists inside real isolated workspaces. Sandbox agents support manifest-defined files, sandbox client selection, an…”
- [probe] “PROBE openapi: all candidate paths 404 (https://developers.openai.com/openapi.json, https://developers.openai.com/swagger.json, https://deve…”
Docs explicitly cover production deployment concerns—subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation across Docker, Kubernetes, and sandbox providers—giving an engineering lead a path to run the SDK as a backend service. However, this is self-hosting guidance, not a first-party managed runtime; the SDK still spawns a local CLI subprocess and there's no evidence of Anthropic providing a hosted 'deploy as endpoint' service, and the developer must build the API wrapper themselves. Missing for 10: a true managed-runtime/PaaS offering, first-party API-endpoint scaffolding, and independent confirmation of production deployments at scale.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
engineering-leadRun my agents entirely on my own infrastructure with no dependence on the vendor's platform
weight 2 · round to OpenAI Agents SDKThe SDK is an open-source Python/JS library you run yourself, and it's explicitly provider-agnostic (100+ LLMs beyond OpenAI), so an engineering lead can host the orchestration layer entirely on their own infra. However, defaults point to OpenAI models/env vars, and built-in tracing pushes data to OpenAI's hosted Traces dashboard, meaning some optional but promoted features still tie back to the vendor platform. missing for 10: explicit documentation on disabling all OpenAI-hosted dependencies (tracing, hosted tools) for a fully vendor-free deployment, and independent confirmation of successful fully self-hosted production use.
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “Using the Traces dashboard, you can debug, visualize, and monitor your workflows during development and in production.”
- [claimed-docs] “if you want to consistently use a specific model for all agents that do not set a custom model, set the `OPENAI_DEFAULT_MODEL` environment v…”
Claude Agent SDKdisputedcontradicted4/10Docs claim you can self-host the SDK's orchestration layer (Docker/Kubernetes/subprocess architecture, session persistence, multi-tenant isolation) [claude-agent-sdk-docs-11, claude-agent-sdk-docs-20], but the SDK still requires the bundled Claude CLI and Anthropic's model API to function, and community evidence documents Anthropic tightening platform-level control over how the SDK can be used—restricting subscription usage, changing what's 'allowed' month to month, and creating uncertainty about bans/quotas [claude-agent-sdk-comm-1, claude-agent-sdk-comm-4, claude-agent-sdk-comm-9, claude-agent-sdk-comm-11]. This shows that despite infra-level self-hosting options, engineering leads remain functionally dependent on Anthropic's policies and API access, directly undercutting the 'no dependence on vendor's platform' claim. Missing for 10: evidence of a fully vendor-independent model backend or offline/self-hosted inference option, and confirmation that policy changes don't affect self-hosted deployments.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [community] “You can no longer use your Claude subscription with apps that use the Claude Agent SDK, e.g. claude -p, Conductor, T3code, etc.”
- [community] “Currently the credit doesn't apply to interactive Claude Code, web/desktop/mobile apps, Claude Cowork, etc. Next month, interactive claude c…”
- [community] “My frustration with Anthropic has been around the uncertainty of all of this. What constitutes fair usage, what can I play with and not risk…”
- [community] “This is big, but until we have policy clarity we can't trust it. I've always migrated all of our agents to Pi SDK, we aren't going back.”
Portability
developerSwap the underlying LLM provider or model without rewriting my agent
weight 3 · round to OpenAI Agents SDKDocs confirm provider-agnostic design supporting OpenAI Responses/Chat Completions APIs plus 100+ other LLMs, with built-in OpenAI model flavors and an environment-variable/config mechanism (OPENAI_DEFAULT_MODEL) to swap default models without code rewrites, implying a model-abstraction layer for swapping providers. Missing for 10: independent hands-on verification of swapping to a non-OpenAI provider and clearer first-party documentation of the LiteLLM/custom-provider integration mechanism.
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [claimed-docs] “The Agents SDK comes with out-of-the-box support for OpenAI models in two flavors”
- [claimed-docs] “if you want to consistently use a specific model for all agents that do not set a custom model, set the `OPENAI_DEFAULT_MODEL` environment v…”
Claude Agent SDKnone0/10The evidence shows the Agent SDK is architected specifically around Anthropic's Claude models — it bundles and spawns a 'claude CLI subprocess' and is built to power Claude Code — with no mention of an abstraction layer for swapping in other LLM providers/models. The only related item is a migration guide *from* the OpenAI Agents SDK *to* this SDK (docs-33), which is a one-way onboarding path, not evidence of provider-agnostic model swapping within the SDK itself.
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “Migrating from the OpenAI Agents SDK instead? The OpenAI Agents SDK migration recipe maps each primitive onto the Claude Agent SDK through a…”
Evals observability — stories about evals observability in this arenaEvals observability
Stories about evals observability in this arena
Evals
engineering-leadScore agent quality with built-in evals and run them as part of CI
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack shows tracing/observability (traces dashboard, tool/handoff logs) but no mention of built-in evals, scoring/grading of agent outputs, or CI integration for automated quality checks.
Testing
developerUnit-test agents with mocked models and tools
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack covers agents, tools, handoffs, tracing, sessions, and runners, but nothing mentions unit testing, mocking models/tools, or any test framework support for the SDK.
Tracing
developerTrace every LLM call and tool invocation of an agent run in an observability UI
weight 3 · round to OpenAI Agents SDKDocs explicitly describe built-in tracing that records LLM generations, tool calls, handoffs, guardrails, and custom events, viewable/debuggable in the Traces dashboard for development and production monitoring. This directly matches the story of tracing every LLM call and tool invocation in an observability UI. Missing for 10: independent/hands-on corroboration of the Traces UI beyond vendor docs.
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “Using the Traces dashboard, you can debug, visualize, and monitor your workflows during development and in production.”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run”
Claude Agent SDKdisputedcontradicted4/10Docs mention 'observability' as a topic covered in production hosting guidance and hooks/streaming provide raw events for tool calls and messages, but there's no dedicated tracing/observability UI documented (e.g., no trace viewer, no integration with an eval/observability platform). Community hands-on reports directly contradict any claim of built-in observability, describing the default harness as having '0 observability' and failing to display full tool-call/session details in its UI. missing for 10: a dedicated observability/tracing UI or integration, documented trace export (OpenTelemetry/etc.), and evidence resolving the community complaints about poor tool-call visibility.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [community] “There is no difference between claude -p and typing into their 'harness' in tmux. They want to make you pay for API which is subsidizing the…”
- [community] “I've been using claude -p with a harness called codelayer. Their [default] harness is completely garbage when it comes at displaying full de…”
Guardrails safety — stories about guardrails safety in this arenaGuardrails safety
Stories about guardrails safety in this arena
Guardrails
developerAttach input/output guardrails that validate, transform, or block unsafe content
weight 3 · round to OpenAI Agents SDKDocs directly state guardrails enable checks/validations of user input and agent output, and guardrails are a first-class runtime concept alongside handoffs/tools with tracing integration. Missing for 10: no independent/hands-on corroboration of guardrail blocking/transforming behavior in practice, and no detail on transform capability beyond validation/blocking.
- [claimed-docs] “Guardrails enable you to do checks and validations of user input and agent output.”
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
Hooks provide a mechanism to intercept tool calls and block dangerous operations before execution, and canUseTool/permissions callbacks allow runtime validation/blocking of tool use, which together approximate input/output guardrails. However, there is no dedicated 'guardrails' API for validating or transforming model output content itself (e.g., content moderation, output rewriting) beyond structured-output schema validation. missing for 10: explicit output-content validation/transformation guardrail API, first-party examples of blocking/altering unsafe generated text (not just tool calls), independent verification of guardrail robustness.
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent. ... you still get validated JSON matching your schema…”
engineering-leadRestrict what an agent may do with fine-grained tool permissions and sandboxed execution
weight 2 · round to Claude Agent SDKDocs show real guardrail mechanisms: input/output validation guardrails, human-in-the-loop tool-call approval that pauses runs pending explicit permission, and dedicated 'Sandbox agents' that execute in isolated, manifest-defined workspaces, plus a sandboxed CodeInterpreterTool. Together these give an engineering lead meaningful control over tool use and execution isolation, though there's no first-party doc on granular per-tool ACL/permission policies beyond approval gating, and no independent/hands-on security audit corroborating sandbox robustness. Missing for 10: explicit fine-grained per-tool permission/policy configuration docs, independent verification of sandbox isolation guarantees.
- [claimed-docs] “Guardrails enable you to do checks and validations of user input and agent output.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
- [claimed-docs] “Sandbox agents: Run specialists inside real isolated workspaces. Sandbox agents support manifest-defined files, sandbox client selection, an…”
- [claimed-docs] “If the agent should run inside an isolated workspace with manifest-defined files and sandbox-native capabilities, read Sandbox agent concept…”
- [claimed-docs] “OpenAI offers a few built-in tools when using the OpenAIResponsesModel... The WebSearchTool lets an agent search the web. The FileSearchTool…”
Docs describe granular permission modes, rules, and a canUseTool runtime callback (permissions.md), hooks that can block dangerous operations before execution (hooks.md), and hosting guidance covering multi-tenant isolation via Docker, Kubernetes, and sandbox providers (hosting.md) — directly matching fine-grained tool control plus sandboxed execution. Missing for 10: independent/hands-on verification that sandbox isolation holds up in production and more detail on the exact rule syntax for per-tool allow/deny policies.
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools.”
Human in the loop — stories about human in the loop in this arenaHuman in the loop
Stories about human in the loop in this arena
Approval flows
developerPause an agent mid-run for human input or approval and resume with the human's decision
weight 3 · round drawnDocs explicitly describe a human-in-the-loop flow where a tool call requiring approval pauses the run, returns interruptions, and lets the developer resume later from the same RunState with the human's decision. This directly matches the story's pause/resume-for-approval pattern. Missing for 10: independent/hands-on corroboration beyond first-party docs, and Python-specific (vs JS) documentation detail on the same mechanism.
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
The SDK explicitly supports pausing for human approval via the canUseTool callback and AskUserQuestion tool, which fires whenever Claude needs user input, and lets developers surface approval requests/clarifying questions and return the human's decision back to the SDK to resume execution. Permission modes/rules and hooks further allow blocking operations pending human input, and streaming mode supports long-lived interactive sessions that handle interruptions and permission requests. missing for 10: no independent/hands-on corroboration of the pause-resume UX in practice, and no explicit example showing resumption after a long delay or across process restarts specifically for approval workflows.
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “Claude requests user input in two situations: when it needs permission to use a tool (like deleting files or running commands), and when it …”
- [claimed-docs] “Surface Claude's approval requests and clarifying questions to users, then return their decisions to the SDK.”
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “It allows the agent to operate as a long lived process that takes in user input, handles interruptions, surfaces permission requests, and ha…”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
engineering-leadRequire human approval before specific sensitive tool calls execute
weight 2 · round drawnDocs explicitly describe a needsApproval/interruption mechanism: when a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState, enabling human-in-the-loop gating for specific sensitive tools. Missing for 10: independent/hands-on corroboration of this workflow and Python-side (vs JS) doc citation for the same feature.
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
The SDK provides a documented canUseTool callback that fires when Claude needs permission for a sensitive tool call, allowing engineering leads to intercept and require approval before execution, plus hooks that can block operations before they run and permission modes/rules for fine-grained control. missing for 10: independent/hands-on corroboration of the approval flow in production and more detail on configuring which specific tools trigger approval vs. auto-allow.
- [claimed-docs] “The Claude Agent SDK provides permission controls to manage how Claude uses tools. Use permission modes and rules to define what's allowed a…”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “Claude requests user input in two situations: when it needs permission to use a tool (like deleting files or running commands), and when it …”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “Surface Claude's approval requests and clarifying questions to users, then return their decisions to the SDK.”
Memory context — stories about memory context in this arenaMemory context
Stories about memory context in this arena
Memory
developerTrim, summarize, or filter conversation history to keep an agent inside its context window
weight 2 · round to Claude Agent SDKOpenAI Agents SDKnone0/10Evidence shows built-in session memory that automatically persists conversation history across runs (docs-8, docs-33), but nothing describes trimming, summarizing, or filtering that history to manage context window size. No documentation mentions truncation, summarization tools, or history-pruning APIs.
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs”
Docs mention the SDK provides the same 'context management' as Claude Code and that subagents can be used to isolate context for subtasks, implying some context-window management exists, but no explicit API for trimming, summarizing, or filtering conversation history is documented. Missing for 10: explicit compaction/summarization API, documented context-window truncation controls, and independent confirmation that developers can programmatically filter history.
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “Fork is different: it creates a new session that starts with a copy of the original's history. The original stays”
developerGive agents long-term memory that persists across sessions and threads
weight 2 · round to Claude Agent SDKDocs describe built-in 'session memory' that automatically maintains conversation history across multiple agent runs, removing manual history management (openai-agents-docs-8/33), which covers persistence within a session. However, there's no evidence of explicit long-term memory that persists across different threads/sessions (e.g., a durable memory store, vector-based long-term recall, or cross-thread continuity beyond a single session object) — FileSearchTool/Vector Stores are mentioned only as retrieval tools, not as an automatic long-term memory mechanism tied to sessions. Missing for 10: documented cross-session/cross-thread persistent memory store, examples of custom long-term memory backends, and independent confirmation that memory survives beyond a single Session object.
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs”
- [claimed-docs] “OpenAI offers a few built-in tools when using the OpenAIResponsesModel... The WebSearchTool lets an agent search the web. The FileSearchTool…”
Sessions persist conversation history to disk and can be resumed with full prior context (docs-7, docs-16, docs-24), and SessionStore lets you mirror transcripts to external backends for cross-host resumption (docs-29). However this is session/thread-level persistence rather than true cross-session long-term memory (e.g. semantic memory, facts recalled across unrelated threads); CLAUDE.md/rules provide some persistent instructions but not dynamic memory. missing for 10: dedicated long-term/semantic memory store distinct from raw transcript replay, cross-thread memory retrieval mechanism, independent verification of persistence working reliably in production.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works... The SDK writes it to disk automatically so you can retur…”
- [claimed-docs] “Returning to a session means the agent has full context from before: files it already read, analysis it already performed, decisions it alre…”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
- [claimed-docs] “The Agent SDK is built on the same foundation as Claude Code, which means your SDK agents have access to the same filesystem-based features:…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userRead the product's source under an open license
weight 2 · round to OpenAI Agents SDKThe evidence confirms the SDK's source code is hosted publicly on GitHub (openai/openai-agents-python) and is actively discussed by the community, implying open access to the code, but no evidence pack item explicitly states or cites a license (e.g., MIT/Apache) or license file. Missing for 10: explicit license text/confirmation, documentation citing the specific open-source license terms.
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [github] “Voice agents: Build voice pipelines that combine speech-to-text, an agent workflow, and text-to-speech”
- [github] “Realtime agents: Build powerful voice agents with `gpt-realtime-2.1` and full agent features”
- [community] “OpenAI SDK is much simpler to use and understand than langchain etc. I havent deployed really complicated agents, but I have a number of sim…”
Claude Agent SDKnone0/10There is no evidence the Claude Agent SDK's source is released under an open license; the Python/TypeScript SDK wraps a proprietary bundled Claude Code CLI and no license/open-source repo details are provided beyond a GitHub package listing. Community evidence even discusses restrictive usage terms, further indicating a closed, controlled distribution model rather than open-source code.
- [github] “The Claude Code CLI is automatically bundled with the package - no separate installation required! The SDK will use the bundled CLI by defau…”
- [community] “You can no longer use your Claude subscription with apps that use the Claude Agent SDK, e.g. claude -p, Conductor, T3code, etc.”
- [community] “There is no difference between claude -p and typing into their 'harness' in tmux. They want to make you pay for API which is subsidizing the…”
ai-native userSelf-host the core product
weight 3 · round to OpenAI Agents SDKThe Agents SDK is an open-source Python/JS library (github.com/openai/openai-agents-python) that you install and run yourself via the Runner class (Runner.run/run_sync/run_streamed) with no required hosted backend, and it's provider-agnostic (100+ LLMs), meaning the core execution loop runs entirely in your own infrastructure by design. Missing for 10: no explicit self-hosting guide/deployment docs or independent report confirming production self-hosted deployments beyond code examples.
- [github] “It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “You can run agents via the `Runner` class. You have 3 options: `Runner.run()`... `Runner.run_sync()`... `Runner.run_streamed()`”
- [claimed-docs] “if you want to consistently use a specific model for all agents that do not set a custom model, set the `OPENAI_DEFAULT_MODEL` environment v…”
Claude Agent SDKnone0/10The SDK's 'hosting' docs only describe deploying the wrapper application (Docker/Kubernetes/subprocess supervision) — the core product itself, the Claude model, remains a hosted Anthropic service accessed via subscription/API, and community evidence confirms usage is gated by Anthropic's cloud plans and subject to policy restrictions, not something a user can run independently. No evidence describes self-hosting Claude's weights or inference outside Anthropic's infrastructure.
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
- [community] “You can no longer use your Claude subscription with apps that use the Claude Agent SDK, e.g. claude -p, Conductor, T3code, etc.”
- [community] “Currently the credit doesn't apply to interactive Claude Code, web/desktop/mobile apps, Claude Cowork, etc. Next month, interactive claude c…”
- [community] “My frustration with Anthropic has been around the uncertainty of all of this. What constitutes fair usage, what can I play with and not risk…”
Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agent
Stories about orchestration multi agent in this arena
Multi agent
developerOrchestrate multiple agents — handoffs, subagents, or crews — inside one workflow
weight 3 · round to OpenAI Agents SDKDocs explicitly describe handoffs for delegating tasks between specialized agents, agents-as-tools for subagent-style composition without full handoff, and a Runner to orchestrate multi-agent workflows with tracing, streaming, and session memory across runs. Community feedback confirms real-world use for orchestration, though notes complexity concerns for advanced cases. Missing for 10: independent/hands-on benchmark of complex multi-agent crews at scale beyond simple handoff examples.
- [claimed-docs] “Handoffs allow an agent to delegate tasks to another agent. This is particularly useful in scenarios where different agents specialize in di…”
- [claimed-docs] “Agents as tools: expose an agent as a callable tool without a full handoff.”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [community] “OpenAI SDK is much simpler to use and understand than langchain etc. I havent deployed really complicated agents, but I have a number of sim…”
Docs explicitly cover subagents spawned by a main agent for parallel/focused subtasks, hooks to coordinate/intercept events, session forking to branch workflows, and MCP integration — together supporting multi-agent orchestration within one workflow. Missing for 10: independent hands-on validation of complex multi-agent crews/handoffs beyond first-party docs, and no explicit named 'handoff' primitive comparable to other agent frameworks.
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks.”
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [claimed-docs] “With hooks, you can: Block dangerous operations before they execute, like destructive shell commands or unauthorized file access”
- [claimed-docs] “Fork is different: it creates a new session that starts with a copy of the original's history. The original stays”
- [claimed-docs] “With MCP, your agent can query databases, integrate with APIs like Slack and GitHub, and connect to other services without writing custom to…”
Workflow control
developerCompose agents into an explicit graph or workflow with branching, loops, and parallel steps
weight 2 · round to OpenAI Agents SDKThe SDK provides composable primitives—handoffs for delegation/branching, agents-as-tools for parallel-style composition, and Runner.run for orchestrated execution—but these are implemented via plain Python control flow rather than an explicit graph/workflow DSL with declared branching, loops, and parallel steps as first-class constructs (unlike graph-based orchestrators). Community commentary notes users often reimplement custom logic for more complex flows rather than relying on a built-in graph abstraction. missing for 10: explicit graph/DSL construct for defining workflows, first-class loop/parallel-step primitives, independent hands-on evidence of complex branching/looping workflows.
- [claimed-docs] “Handoffs allow an agent to delegate tasks to another agent. This is particularly useful in scenarios where different agents specialize in di…”
- [claimed-docs] “Agents as tools: expose an agent as a callable tool without a full handoff.”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [community] “you're better off just implementing the logic yourself as it is more flexible.”
The SDK supports spawning subagents for parallel subtasks and gives developers full Python/TypeScript control flow (which can express branching/loops in code), but there is no documented explicit graph/workflow abstraction (nodes, edges, conditional branches, loop constructs) as a first-class SDK feature. Missing for 10: a dedicated workflow/graph API, documented branching/loop primitives, and independent examples of complex multi-step orchestration graphs beyond simple subagent spawning.
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks.”
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “Use ClaudeSDKClient for interactive applications such as chat interfaces, or when the next action depends on Claude's response.”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round drawnOpenAI Agents SDKnone0/10No evidence in the pack mentions data residency, regional storage, or data location controls for the Agents SDK; the SDK is a developer framework that relies on underlying model providers/APIs for storage, and no such configuration is documented here.
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnOpenAI Agents SDKnone0/10The evidence pack covers SDK features (tools, handoffs, tracing, sessions, MCP, voice, sandboxing) but contains no mention of data-training opt-out, privacy controls, or API data usage policies relevant to model training. This is a developer SDK that wraps OpenAI API calls, so training-data opt-out would be governed by OpenAI's platform-level API terms, not documented anywhere in this evidence pack.
ai-native userControl data retention and deletion
weight 2 · round drawnOpenAI Agents SDKnone0/10The evidence pack covers agents, tools, tracing, sessions, handoffs, etc., but contains no documentation of data retention policies, data deletion controls, or privacy configuration options for the SDK. This is an applicable axis (an AI SDK could plausibly document retention/deletion controls or link to API data-usage policies) but no such evidence is present.
Claude Agent SDKnone0/10The evidence describes session persistence and a SessionStore adapter for mirroring transcripts to a user's own backend, but nothing addresses data retention policies, deletion controls, or how long Anthropic/the SDK retains data. missing for 10: any documentation on data retention periods, explicit deletion APIs/commands, or privacy/compliance controls governing stored conversation or tool-use data.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnOpenAI Agents SDKnone0/10The SDK ships built-in tracing that records LLM generations, tool calls, handoffs, and guardrails to a Traces dashboard, making telemetry opt-out a fair and relevant question, but no evidence pack item documents any environment variable, config flag, or API to disable tracing/telemetry.
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
- [claimed-docs] “Using the Traces dashboard, you can debug, visualize, and monitor your workflows during development and in production.”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
State durability — stories about state durability in this arenaState durability
Stories about state durability in this arena
Durable state
developerCheckpoint agent state so a run can resume exactly where it left off after a crash or restart
weight 3 · round to Claude Agent SDKThe SDK provides built-in session memory to persist conversation history across turns and a RunState/interruptions mechanism that lets a paused (e.g., approval-pending) run resume from where it left off, which covers part of the checkpoint/resume story. However, there is no documented mechanism for durably persisting full agent run state to survive a process crash or restart—community evidence explicitly notes that true durable/crash-resilient execution requires wrapping the SDK with an external engine like Temporal, implying it isn't a native capability. Missing for 10: first-party docs on serializing/restoring full run state after an unexpected crash, and any built-in persistence layer beyond conversation history/session memory.
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
- [community] “Comparing the Temporal-based durable version to the original OpenAI Agents SDK repo's examples, it's really not all that different - some me…”
Docs describe sessions being written to disk automatically, resumable with full prior context, forkable, and a SessionStore adapter to persist transcripts to external backends so a session can resume on a different host — directly matching checkpoint/resume-after-crash needs, and hosting docs explicitly call out 'session persistence' as a production concern. Missing for 10: independent/hands-on confirmation that resume restores in-flight tool/subprocess state after an actual crash (not just conversation history), and any benchmark showing exact-resume fidelity.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works... The SDK writes it to disk automatically so you can retur…”
- [claimed-docs] “Returning to a session means the agent has full context from before: files it already read, analysis it already performed, decisions it alre…”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
- [claimed-docs] “Fork is different: it creates a new session that starts with a copy of the original's history. The original stays”
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
engineering-leadRun long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations
weight 2 · round to Claude Agent SDKThe SDK has built-in session memory across turns and human-in-the-loop pause/resume via RunState, plus a community reference to a Temporal-based durable-execution integration confirming feasibility, but there's no native, documented mechanism for surviving process restarts/deploys out of the box — durability requires an external integration like Temporal. missing for 10: first-party durable-execution/persistence docs, official Temporal (or similar) integration guide, evidence of native crash/restart recovery for long-lived agent runs.
- [claimed-docs] “The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the n…”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns interruptions, and lets you resume later from the same RunState.”
- [claimed-docs] “When a tool call requires approval, the SDK pauses the run, returns `interruptions`, and lets you resume later from the same `RunState`.”
- [community] “Comparing the Temporal-based durable version to the original OpenAI Agents SDK repo's examples, it's really not all that different - some me…”
The SDK documents native session persistence (auto-written to disk, resumable/forkable) plus a SessionStore adapter for mirroring transcripts to external stores so sessions can resume across hosts, and hosting docs cover session persistence, scaling, and multi-tenant isolation for Docker/Kubernetes deploys — directly supporting durability across restarts and redeploys. However, there is no mention of integration with dedicated durable-execution frameworks (e.g., Temporal/Restate) and no independent/hands-on evidence validating resilience across actual crash/restart scenarios. Missing for 10: durable-execution framework integrations, independent verification of crash/restart resilience.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works... The SDK writes it to disk automatically so you can retur…”
- [claimed-docs] “Returning to a session means the agent has full context from before: files it already read, analysis it already performed, decisions it alre…”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
- [claimed-docs] “Deploy the Agent SDK in production: subprocess architecture, session persistence, scaling, observability, and multi-tenant isolation for Doc…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”
Streaming output — stories about streaming output in this arenaStreaming output
Stories about streaming output in this arena
Streaming
developerStream tokens and intermediate agent events (tool calls, steps) to my UI in real time
weight 3 · round to OpenAI Agents SDKDocs explicitly describe Runner.run_streamed() returning a RunResultStreaming, and a dedicated Streaming guide describing subscribing to updates of the agent run including partial responses and progress, plus built-in tracing capturing tool calls/handoffs/steps that can be surfaced. This directly supports streaming tokens and intermediate events to a UI. Missing for 10: independent hands-on developer confirmation of real-time UI integration beyond official docs.
- [claimed-docs] “Streaming lets you subscribe to updates of the agent run as it proceeds. This can be useful for showing the end-user progress updates and pa…”
- [claimed-docs] “You can run agents via the Runner class. You have 3 options: Runner.run(), Runner.run_sync(), Runner.run_streamed()”
- [claimed-docs] “Runner.run_streamed(), which runs async and returns a RunResultStreaming”
- [claimed-docs] “The Agents SDK includes built-in tracing, collecting a comprehensive record of events during an agent run: LLM generations, tool calls, hand…”
Docs explicitly describe streaming input mode as the preferred method for real-time interactive apps, a dedicated streaming-output guide showing how to enable token-level streaming via include_partial_messages/includePartialMessages, plus hooks and canUseTool callbacks that surface tool-call and step events during execution, directly matching the story. missing for 10: independent hands-on corroboration of real-time UI streaming quality, and no explicit end-to-end UI code example beyond flag/callback docs
- [claimed-docs] “To enable streaming, set `include_partial_messages` (Python) or `includePartialMessages` (TypeScript) to `true` in your options.”
- [claimed-docs] “Streaming input mode is the preferred way to use the Claude Agent SDK. It provides full access to the agent's capabilities and enables rich,…”
- [claimed-docs] “It allows the agent to operate as a long lived process that takes in user input, handles interruptions, surfaces permission requests, and ha…”
- [claimed-docs] “Hooks are callback functions that run your code in response to agent events, like a tool being called, a session starting, or execution stop…”
- [claimed-docs] “Pass a canUseTool callback in your query options. The callback fires whenever Claude needs user input, receiving the tool name and input as …”
- [claimed-docs] “Use ClaudeSDKClient for interactive applications such as chat interfaces, or when the next action depends on Claude's response.”
Structured output
developerGet schema-validated structured output from an agent, with automatic retries when validation fails
weight 3 · round to Claude Agent SDKDocs confirm Pydantic-powered schema validation for function tools/outputs and guardrails for validating agent output, implying structured-output support, but there is no explicit documentation of an 'output_type' structured output feature with automatic retry-on-validation-failure behavior tied to streaming. Missing for 10: explicit documentation of structured output schema enforcement on agent final output, explicit automatic retry-on-validation-failure mechanism, and independent/hands-on confirmation that retries occur when validation fails.
- [claimed-docs] “Function tools: Turn any Python function into a tool with automatic schema generation and Pydantic-powered validation.”
- [claimed-docs] “Guardrails enable you to do checks and validations of user input and agent output.”
- [claimed-docs] “An agent is a large language model (LLM) configured with instructions, tools, and optional runtime behavior such as handoffs, guardrails, an…”
Docs explicitly describe structured outputs with schema-validated JSON returned at the end of an agent run, confirming schema validation support, but no evidence describes automatic retry behavior when validation fails. missing for 10: explicit documentation of retry/re-prompt behavior on validation failure, and any independent/hands-on confirmation of retry mechanics.
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent. ... you still get validated JSON matching your schema…”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent... you still get validated JSON matching your schema a…”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent.”
Not comparable on these axes
ai-native userConnect an agent via an official MCP server
weight 3 · not comparableOpenAI Agents SDKn/aOpenAI Agents SDK is an agent-building framework (the client role) — its MCP evidence describes connecting to/consuming existing MCP servers (docs-10, docs-35, docs-25 hosted MCP tool), not exposing itself as an MCP server for other agents to connect to. Per the agent-role exception this axis is out of scope; no evidence of an 'mcp serve' mode or hosted MCP endpoint from the SDK itself.
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own to expose filesystem, …”
- [claimed-docs] “The Agents Python SDK understands multiple MCP transports. This lets you reuse existing MCP servers or build your own”
- [claimed-docs] “Use OpenAI-managed tools (web search, file search, code interpreter, hosted MCP, image generation)”
Claude Agent SDKn/aClaude Agent SDK is itself an agent-building framework (the MCP client role) — its docs (claude-agent-sdk-docs-5) show it connecting to external MCP servers to gain tools, not the SDK exposing an official MCP server for other agents to connect to. Per the agent-role exception, this axis is out of scope unless there's evidence the SDK runs as an MCP server itself, which is absent.
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · not comparableOpenAI Agents SDKn/aThe OpenAI Agents SDK is a developer framework for building AI agents, not an end-user product with a data corpus that surfaces insights to users; the story presumes a product with 'my data' and in-product insight generation, which is a category mismatch for a backend SDK/toolkit.
The SDK provides building blocks (subagents for parallel analysis, structured outputs, custom tools, MCP integrations) that let developers construct agents which generate data-driven insights, and docs give concrete examples like finance agents analyzing portfolios and bug-finding agents. However, the SDK itself is a developer toolkit, not an end-user product that surfaces insights natively — it must be wired up by a developer to actually deliver insights 'inside a product'. Missing for 10: evidence of an out-of-the-box end-user surface (UI/dashboard) presenting AI-generated insights, and independent hands-on confirmation of this specific use case beyond marketing examples.
- [claimed-docs] “Finance agents: Build agents that can understand your portfolio and goals, as well as help you evaluate investments by accessing external AP…”
- [claimed-docs] “Use the Agent SDK to build an AI agent that reads your code, finds bugs, and fixes them, all without manual intervention.”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks. Use them to isolate context, run multiple …”
- [claimed-docs] “Subagents are separate agent instances that your main agent can spawn to handle focused subtasks.”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent. ... you still get validated JSON matching your schema…”
- [claimed-docs] “Structured outputs let you define the exact shape of data you want back from an agent.”
ai-native userDo everything through the API that I can do in the UI
weight 2 · not comparableOpenAI Agents SDKn/aThe Agents SDK is a code-first, API/SDK product with no separate consumer-facing UI whose feature set the API must match (the Traces dashboard is a monitoring add-on, not a primary interaction surface). The 'API vs UI parity' axis is a category mismatch for a product that is itself an SDK.
Docs explicitly claim the SDK exposes 'the same tools, agent loop, and context management that power Claude Code' and shares 'the same foundation... CLAUDE.md, skills, hooks' as the CLI/UI, suggesting strong feature parity between API and interactive UI. However, community reports describe the default programmatic harness as having 'poor DX,' 'zero observability,' and being 'garbage' for surfacing tool-call detail compared to interactive use, and note new subscription-usage restrictions on SDK-driven apps, indicating parity in practice is imperfect. Missing for 10: independent verification that every UI-only feature (e.g. full interactive session UX, all slash-commands) is reachable via API, and resolution of the observability/extensibility gaps raised by developers.
- [claimed-docs] “The Agent SDK gives you the same tools, agent loop, and context management that power Claude Code, programmable in Python and TypeScript.”
- [claimed-docs] “The Agent SDK is built on the same foundation as Claude Code, which means your SDK agents have access to the same filesystem-based features:…”
- [community] “There is no difference between claude -p and typing into their 'harness' in tmux. They want to make you pay for API which is subsidizing the…”
- [community] “I've been using claude -p with a harness called codelayer. Their [default] harness is completely garbage when it comes at displaying full de…”
ai-native userExport all of my data in open formats and leave
weight 3 · not comparableOpenAI Agents SDKn/aThe Agents SDK is an open-source developer framework/library that users run themselves; it does not act as a hosted data-storage service from which a user would need to 'export and leave.' Session memory, traces, and other state are managed within the user's own code/infrastructure (except for optional OpenAI-hosted tracing, for which no export/lock-in evidence exists either way), so the 'export data and leave' axis is a category mismatch for this kind of product.
Session transcripts are written to disk automatically and a SessionStore adapter lets developers mirror those transcripts to their own backend (object store, KV store, database), giving users control over their conversation data and the ability to move it elsewhere. However, there's no explicit documentation of a full 'export all data' feature, no stated open/standard file format for transcripts, and no mention of exporting other data types (configs, custom tools, permissions settings). missing for 10: documented open export format for session data, a full account/data export feature, evidence covering all data types beyond session transcripts.
- [claimed-docs] “A session is the conversation history the SDK accumulates while your agent works. ... The SDK writes it to disk automatically so you can ret…”
- [claimed-docs] “A `SessionStore` adapter lets you mirror those transcripts to your own backend, such as an object store, a key-value store, or a database, s…”
- [claimed-docs] “The Agent SDK spawns and supervises a claude CLI subprocess that owns a shell, a working directory, and session files on disk.”