Description
# OpenAI Agents SDK [](https://pypi.org/project/openai-agents/) The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows. It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs. <img src="https://cdn.openai.com/API/docs/images/orchestration.png" alt="Image of the Agents Tracing UI" style="max-height: 803px;"> > [!NOTE] > Looking for the JavaScript/TypeScript version? Check out [Agents SDK JS/TS](https://github.com/openai/openai-agents-js). ### Core concepts: 1. [**Agents**](https://openai.github.io/openai-agents-python/agents): LLMs configured with instructions, tools, guardrails, and handoffs 1. [**Sandbox Agents**](https://openai.github.io/openai-agents-python/sandbox_agents): Agents preconfigured to work with a container to perform work over long time horizons. 1. **[Agents as tools](https://openai.github.io/openai-agents-python/tools/#agents-as-tools) / [Handoffs](https://openai.github.io/openai-agents-python/handoffs/)**: Delegating to other agents for specific tasks 1. [**Tools**](https://openai.github.io/openai-agents-python/tools/): Various Tools let agents take actions (functions, MCP, hosted tools) 1. [**Guardrails**](https://openai.github.io/openai-agents-python/guardrails/): Configurable safety checks for input and output validation 1. [**Human in the loop**](https://openai.github.io/openai-agents-python/human_in_the_loop/): Built-in mechanisms for involving humans across agent runs 1. [**Sessions**](https://openai.github.io/openai-agents-python/sessions/): Automatic conversation history management across agent runs 1. [**Tracing**](https://openai.github.io/openai-agents-python/tracing/): Built-in tracking of agent runs, allowing you to view, debug and optimize your workflows 1. [**Realtime Agents**](https://openai.github.io/openai-agents-python/realtime/quickstart/): Build powerful voice agents with `gpt-realtime-1.5` and full agent features Explore the [examples](https://github.com/openai/openai-agents-python/tree/main/examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) for more details. ## Get started To get started, set up your Python environment (Python 3.10 or newer required), and then install OpenAI Agents SDK package. ### venv ```bash python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install openai-agents ``` For voice support, install with the optional `voice` group: `pip install 'openai-agents[voice]'`. For Redis session support, install with the optional `redis` group: `pip install 'openai-agents[redis]'`. ### uv If you're familiar with [uv](https://docs.astral.sh/uv/), installing the package would be even easier: ```bash uv init uv add openai-agents ``` For voice support, install with the optional `voice` group: `uv add 'openai-agents[voice]'`. For Redis session support, install with the optional `redis` group: `uv add 'openai-agents[redis]'`. ## Run your first Sandbox Agent [Sandbox Agents](https://openai.github.io/openai-agents-python/sandbox_agents) are new in version 0.14.0. A sandbox agent is an agent that uses a computer environment to perform real work with a filesystem, in an environment you configure and control. Sandbox agents are useful when the agent needs to inspect files, run commands, apply patches, or carry workspace state across longer tasks. ```python from agents import Runner from agents.run import RunConfig from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig from agents.sandbox.entries import GitRepo from agents.sandbox.sandboxes import UnixLocalSandboxClient agent = SandboxAgent( name="Workspace Assistant", instructions="Inspect the sandbox workspace before answering.", default_manifest=Manifest( entries={ "repo": GitRepo(repo="openai/openai-agents-python", ref="main"), } ), ) result = Runner.run_sync( agent, "Inspect the repo README and summarize what this project does.", # Run this agent on the local filesystem run_config=RunConfig(sandbox=SandboxRunConfig(client=UnixLocalSandboxClient())), ) print(result.final_output) # This project provides a Python SDK for building multi-agent workflows. ``` (_If running this, ensure you set the `OPENAI_API_KEY` environment variable_) (_For Jupyter notebook users, see [hello_world_jupyter.ipynb](https://github.com/openai/openai-agents-python/blob/main/examples/basic/hello_world_jupyter.ipynb)_) Explore the [examples](https://github.com/openai/openai-agents-python/tree/main/examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) for more details. ## Acknowledgements We'd like to acknowledge the excellent work of the open-source community, especially: - [Pydantic](https://docs.pydantic.
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.14.4 | Imported from PyPI (0.14.4) | Low | 4/21/2026 |
| v0.14.4 | ## What's Changed * docs: remove duplicate word in voice interruptions section by @abhicris in https://github.com/openai/openai-agents-python/pull/2981 * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2982 * test: add sandbox compatibility guards by @seratch in https://github.com/openai/openai-agents-python/pull/2984 * fix: ignore relative snapshot base overrides by @matthewflint in https://github.com/openai/openai-agents | High | 4/21/2026 |
| v0.14.3 | ## What's Changed * fix: #2962 normalize sandbox paths and add Windows CI by @seratch in https://github.com/openai/openai-agents-python/pull/2963 * fix: #2938 make sandboxes importable on Windows by @seratch in https://github.com/openai/openai-agents-python/pull/2948 * fix: prepare Daytona workspace root before start by @seratch in https://github.com/openai/openai-agents-python/pull/2956 * fix: windows errors with #2956 by @seratch in https://github.com/openai/openai-agents-python/pull/297 | High | 4/20/2026 |
| v0.14.2 | ## What's Changed * feat: support sandbox extra path grants by @qiyaoq-oai in https://github.com/openai/openai-agents-python/pull/2920 * feat: #2228 persist tool origin metadata in run items by @seratch in https://github.com/openai/openai-agents-python/pull/2654 * feat(extensions): add MongoDB session backend by @alexbevi in https://github.com/openai/openai-agents-python/pull/2902 * fix: loosen sandbox compaction model parsing by @sdcoffey in https://github.com/openai/openai-agents-python/ | High | 4/18/2026 |
| v0.14.1 | ## What's Changed * fix: sanitize OpenAI tracing export payloads by @alfozan in https://github.com/openai/openai-agents-python/pull/2896 * fix: #2873 preserve computer driver compatibility for modifier keys by @seratch in https://github.com/openai/openai-agents-python/pull/2877 * fix #2151 shield server-managed handoffs from unsupported history rewrites by @seratch in https://github.com/openai/openai-agents-python/pull/2747 * fix: stop streamed tool execution after known input guardrail tr | High | 4/15/2026 |
| v0.14.0 | ## What's Changed ### Sandbox Agents This release adds **Sandbox Agents**, a beta SDK surface for running agents with a persistent, isolated workspace. Sandbox agents keep the normal `Agent` and `Runner` flow, but add workspace manifests, sandbox-native capabilities, sandbox clients, snapshots, and resume support so agents can work over real files, run commands, edit repositories, generate artifacts, and continue work across runs. Key pieces: - `SandboxAgent`: an `Agent` with sandbox | High | 4/15/2026 |
| v0.13.6 | ## What's Changed * fix: #2863 lazy-load SQLiteSession exports by @seratch in https://github.com/openai/openai-agents-python/pull/2864 * fix: #2856 stop recursive trace preview truncation by @seratch in https://github.com/openai/openai-agents-python/pull/2860 * fix: harden SQLAlchemySession against transient SQLite locks by @seratch in https://github.com/openai/openai-agents-python/pull/2854 ### Documentation & Other Changes * docs: updates for #2844 changes by @seratch in https://git | Medium | 4/9/2026 |
| v0.13.5 | ## What's Changed * feat: #2807 support callable approval policies for local MCP servers by @seratch in https://github.com/openai/openai-agents-python/pull/2818 * feat: #2135 add public flush_traces API by @seratch in https://github.com/openai/openai-agents-python/pull/2844 * fix: #2823 AnyLLM reasoning extraction for iterable vLLM/any-llm Reasoning objects by @ziqi-cn in https://github.com/openai/openai-agents-python/pull/2822 * fix: serialize SQLite session writes with shared file locks | Medium | 4/6/2026 |
| v0.13.4 | ## What's Changed * fix: #2806 sanitize AnyLLM responses replay input before validation by @seratch in https://github.com/openai/openai-agents-python/pull/2813 ### Documentation & Other Changes * fix: map extensions changes to the feature:extensions label by @seratch in https://github.com/openai/openai-agents-python/pull/2814 * Release 0.13.4 by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2815 **Full Changelog**: https://github.com/openai/openai-agents- | Medium | 4/1/2026 |
| v0.13.3 | ## What's Changed * fix: #2798 avoid stale hydrated input ids in server conversation tracker by @seratch in https://github.com/openai/openai-agents-python/pull/2800 * fix: #2797 accept raw image_url content parts on chat completions input by @seratch in https://github.com/openai/openai-agents-python/pull/2799 ### Documentation & Other Changes * docs: add non-OpenAI provider code example by @Muttaqi110 in https://github.com/openai/openai-agents-python/pull/2792 * docs: update translate | Medium | 3/31/2026 |
| v0.13.2 | ## What's Changed * fix: #2783 depend on griffelib directly for docstring parsing by @seratch in https://github.com/openai/openai-agents-python/pull/2791 * fix: #2776 keep private tool metadata out of persisted session items by @seratch in https://github.com/openai/openai-agents-python/pull/2781 * fix: #2778 keep LiteLLM reasoning_effort portable across providers by @seratch in https://github.com/openai/openai-agents-python/pull/2782 * fix: update default reasoning effort for newer models | Medium | 3/26/2026 |
| v0.13.1 | ## Key Changes ### Any-LLM extension Since this version, the extension module includes a new [any-llm](https://github.com/mozilla-ai/any-llm) adapter as well. Please refer to the updated documentation and examples at https://github.com/openai/openai-agents-python/tree/main/examples/model_providers ## What's Changed * feat: add any-llm model support with responses-compatible routing by @seratch in https://github.com/openai/openai-agents-python/pull/2706 * fix: preserve static MCP met | Medium | 3/25/2026 |
| v0.13.0 | ## Key Changes This minor release does **not** introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes. Highlights are: - The default websocket Realtime model is now `gpt-realtime-1.5`, so new Realtime agent setups use the newer model without extra configuration. - `MCPServer` now exposes `list_resources()`, `list_resource_templates()`, and `read_resource()`, and `MCPServerStreamableHttp` now exposes `session | Medium | 3/23/2026 |
| v0.12.5 | ## What's Changed * feat(mcp): expose auth and httpx_client_factory in SSE/StreamableHttp params by @adityasingh2400 in https://github.com/openai/openai-agents-python/pull/2713 * fix: recover streamed nested agent output before cancellation fallback by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2714 * fix(mcp): retry ClosedResourceError on isolated session by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2711 * fix(mcp): retry MCP 40 | Low | 3/19/2026 |
| v0.12.4 | ## What's Changed * fix: normalize cancelled MCP invocations into tool errors by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2704 * fix: retry transient streamable-http MCP tool failures on isolated session by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2703 * fix(memory): honor custom table names in AdvancedSQLiteSession by @seratch in https://github.com/openai/openai-agents-python/pull/2694 * fix(retry): cap jittered delay to max_ | Low | 3/18/2026 |
| v0.12.3 | ## What's Changed * fix: handle inner MCP tool cancellations as tool errors by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2681 * fix: serialize streamable-http MCP requests per session by @elainegan-openai in https://github.com/openai/openai-agents-python/pull/2682 ### Documentation & Other Changes * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2668 * docs: fix minor typos in provide | Low | 3/16/2026 |
| v0.12.2 | ## What's Changed * fix: #2664 drop orphan hosted shell calls before multi-turn replay by @seratch in https://github.com/openai/openai-agents-python/pull/2665 * fix: #2258 add normalized to_input_list mode for filtered handoff follow-ups by @seratch in https://github.com/openai/openai-agents-python/pull/2667 ### Documentation & Other Changes * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2663 * Release 0.12.2 by | Low | 3/14/2026 |
| v0.12.1 | ## What's Changed * feat: #2658 preserve explicit approval rejection messages across resume flows by @seratch in https://github.com/openai/openai-agents-python/pull/2660 ### Documentation & Other Changes * docs: add retry settings by @seratch in https://github.com/openai/openai-agents-python/pull/2655 * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2656 * Release 0.12.1 by @github-actions[bot] in https://github.co | Low | 3/13/2026 |
| v0.12.0 | ## Key Changes ### Opt-in retry settings New opt-in settings for retries of model API calls is available in this version. The new configuration is available as part of `ModelSettings` and it can be passed either as run config or model settings per an agent. Refer to the following code examples for details: - https://github.com/openai/openai-agents-python/blob/main/examples/basic/retry.py - https://github.com/openai/openai-agents-python/blob/main/examples/basic/retry_litellm.py # | Low | 3/12/2026 |
| v0.11.1 | ## What's Changed * fix: show the GA computer alias in tracing by @seratch in https://github.com/openai/openai-agents-python/pull/2641 ### Documentation & Other Changes * docs: add tool search coverage across Python guides by @seratch in https://github.com/openai/openai-agents-python/pull/2622 * docs: cover GA computer tool migration across Python guides by @seratch in https://github.com/openai/openai-agents-python/pull/2629 * docs: update translated document pages by @github-actions[ | Low | 3/9/2026 |
| v0.11.0 | ## Key Changes ### Tool search support As of this version, the Agents SDK supports the tool search tool, including namespaces: https://developers.openai.com/api/docs/guides/tools-tool-search/ Please refer to [this concrete example](https://github.com/openai/openai-agents-python/blob/main/examples/tools/tool_search.py), as well as the updated documentation. ### Computer use tool GA As of this version, you can use the gpt-5.4 model for the computer use tool, in addition to the exist | Low | 3/9/2026 |
| v0.10.5 | ## What's Changed * feat: #2492 add explicit MultiProvider prefix modes by @seratch in https://github.com/openai/openai-agents-python/pull/2593 * fix: #879 return McpError as a structured error result instead of crashing the agent run by @adityasingh2400 in https://github.com/openai/openai-agents-python/pull/2598 ### Documents & Other Changes * docs: improve doc coverage for Dapr sessions and advanced model settings by @seratch in https://github.com/openai/openai-agents-python/pull/258 | Low | 3/5/2026 |
| v0.10.4 | ## What's Changed * fix: isolate parallel function tool failures by @seratch in https://github.com/openai/openai-agents-python/pull/2584 ### Documents & Other Changes * docs: improve documentation entry points and navigation by @seratch in https://github.com/openai/openai-agents-python/pull/2578 * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2579 * docs: update translated document pages by @github-actions[bot] in | Low | 3/3/2026 |
| v0.10.3 | ## What's Changed * feat: expose immutable agent tool invocation metadata on run results (ref #2575) by @seratch in https://github.com/openai/openai-agents-python/pull/2576 * feat: #2247 add RunResult tool_context accessor for agent tools by @seratch in https://github.com/openai/openai-agents-python/pull/2575 * perf: use deque for BFS queue and voice task ordering by @giulio-leone in https://github.com/openai/openai-agents-python/pull/2559 ### Documents & Other Changes * docs: update | Low | 3/2/2026 |
| v0.10.2 | ## What's Changed * fix: #2540 reattach resumed traces without duplicate trace starts by @seratch in https://github.com/openai/openai-agents-python/pull/2547 * fix: #260 sanitize oversized tracing span payloads by @seratch in https://github.com/openai/openai-agents-python/pull/2549 * fix: Require approval for callable MCP policies when agent is omitted by @tiffanycitra in https://github.com/openai/openai-agents-python/pull/2553 * fix: #1121 expose model request IDs on raw responses by @ser | Low | 2/26/2026 |
| v0.10.1 | ## What's Changed * fix: sync realtime model literals in realtime config by @seratch in https://github.com/openai/openai-agents-python/pull/2535 ### Documents & Other Changes * docs: add responses websocket support by @seratch in https://github.com/openai/openai-agents-python/pull/2533 * docs: update translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2534 * Release 0.10.1 by @github-actions[bot] in https://github.com/openai/openai- | Low | 2/24/2026 |
| v0.10.0 | ## Key Changes ### WebSocket Mode for OpenAI Responses API This version adds WebSocket mode support for OpenAI's Responses API. This is a new opt-in feature, so the default behavior is unchanged. If you want to switch all Responses API calls to WebSocket mode, call `set_default_openai_responses_transport("websocket")` to enable it for all OpenAI Responses model agents. You can also use either `OpenAIProvider` along with `use_responses_websocket=True` or `responses_websocket_session()` u | Low | 2/23/2026 |
| v0.9.3 | ## What's Changed * fix: strip #2518 total_tokens from OpenAI tracing usage payloads by @seratch in https://github.com/openai/openai-agents-python/pull/2521 * Release 0.9.3 by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2522 **Full Changelog**: https://github.com/openai/openai-agents-python/compare/v0.9.2...v0.9.3 | Low | 2/20/2026 |
| v0.9.2 | ## Key Changes ### reasoning_item_id_policy: omit for reasoning models To mitigate 400 errors caused by an inconsistent set of items when using reasoning models, this release introduces the `reasoning_item_id_policy: 'omit'` option to `RunConfig`. This is a new, opt-in option, so the default behavior is unchanged. ```python run_config = RunConfig(reasoning_item_id_policy="omit") result = await Runner.run( agent, "Tell me about recursion in programming.", run_config=run_ | Low | 2/19/2026 |
| v0.9.1 | ## What's Changed * fix: materialize iterable input history in ItemHelpers.input_to_new_input_list by @seratch in https://github.com/openai/openai-agents-python/pull/2496 * fix: emit tracing function spans for shell/apply_patch/computer runtime tools by @seratch in https://github.com/openai/openai-agents-python/pull/2498 * fix: #2489 lazily initialize tracing globals to avoid import-time fork hazards by @seratch in https://github.com/openai/openai-agents-python/pull/2499 * fix: #2487 persi | Low | 2/17/2026 |
| v0.9.0 | ## Key Changes ### Python 3.9 is no longer supported Since Python 3.9 is EOLed three months ago, this SDK no longer support the version. Please upgrade to Python 3.10 or newer. ### Timeouts for function tools Now you can pass the following options to customize function tool behavior: - timeout_seconds: float | None - timeout_behavior: ToolTimeoutBehavior = "error_as_result" # or "raise_exception" - timeout_error_function: ToolErrorFunction | None #### `Agent#as_tool()` now retu | Low | 2/13/2026 |
| v0.8.4 | ## Key Changes ### Hosted container tool + Skills This release includes the hosted shell runtime tool along with its native skills support. Developers now can pass a container-based shell runtime with skills this way: ```python from agents import Agent, ShellTool agent = Agent( name="Shell Agent", model="gpt-5.2", instructions="Use the available shell tool to answer user requests.", tools=[ ShellTool( environment={ "type": "co | Low | 2/11/2026 |
| v0.8.3 | ## What's Changed * Support model_version param for turn detection in realtime agents sdk by @jhills20 in https://github.com/openai/openai-agents-python/pull/2450 ### Documents & Other Changes * docs: describe Pydantic Field annotations for tool args by @haasonsaas in https://github.com/openai/openai-agents-python/pull/2436 * Release 0.8.3 by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2451 **Full Changelog**: https://github.com/openai/openai-agents-p | Low | 2/10/2026 |
| v0.8.2 | ## What's Changed * feat: support Annotated[T, Field(...)] in function schema by @haasonsaas in https://github.com/openai/openai-agents-python/pull/2435 * feat: include agent in ToolContext tool calls by @rm-openai in https://github.com/openai/openai-agents-python/pull/2446 * fix(tracing): #2444 drop unsupported usage fields for OpenAI trace ingest by @seratch in https://github.com/openai/openai-agents-python/pull/2448 * fix(core): avoid noisy pydantic serialization warnings for model_dump | Low | 2/9/2026 |
| v0.8.1 | ## What's Changed * feat: add run-context thread reuse for codex_tool by @seratch in https://github.com/openai/openai-agents-python/pull/2425 * feat: add max turns in REPL by @xju2 in https://github.com/openai/openai-agents-python/pull/2431 * fix: #2426 persist streamed run-again tool items to session by @seratch in https://github.com/openai/openai-agents-python/pull/2433 * fix: preserve handoff target resolution compatibility in run-state agent maps by @seratch in https://github.com/opena | Low | 2/6/2026 |
| v0.8.0 | ## Key Changes ### Human-in-the-Loop (HITL) The human-in-the-loop (HITL) flow enables your agents to pause execution until a person approves or rejects sensitive tool calls. Tools declare when they need approval, run results surface pending approvals as interruptions, and `RunState` lets you serialize and resume runs after decisions are made. ```python import asyncio from agents import Agent, Runner, RunState, function_tool @function_tool async def get_weather(city: str) -> str: | Low | 2/5/2026 |
| v0.7.0 | ## Key Changes ### Nested handoff behavior is now opt-in The nested handoffs behavior were enabled by default in v0.6.0. Now, it is now disabled by default. To enable it again, you need to set the `nest_handoff_history` option to `True`. ```python from agents import Agent, MCPServerManager, RunConfig, Runner agent = Agent(name="My agent", instructions="Be creative") result = await Runner.run( agent, input="Hey, can you tell me something interesting about Japan?", run | Low | 1/23/2026 |
| v0.6.9 | ## What's Changed * feat: #2333 support input-based responses compaction with store-aware auto mode by @seratch in https://github.com/openai/openai-agents-python/pull/2334 * fix: #2061 handle invalid tool arguments JSON without crashing by @seratch in https://github.com/openai/openai-agents-python/pull/2337 * Release 0.6.9 by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2336 **Full Changelog**: https://github.com/openai/openai-agents-python/compare/v0.6.8.. | Low | 1/20/2026 |
| v0.6.8 | ## What's Changed * Enhance exception handling in MCP server initialization and cleanup by @habema in https://github.com/openai/openai-agents-python/pull/2268 * Bump LiteLLM to fix Vertex AI function calling with no-param tools by @habema in https://github.com/openai/openai-agents-python/pull/2329 * Fix: Tool message ordering for Gemini models by @habema in https://github.com/openai/openai-agents-python/pull/2331 * fix: #2155 DeepSeek reasoning_content missing in tool call messages by @wah | Low | 1/19/2026 |
| v0.6.7 | ## What's Changed * feat: add experimental Codex extension and tool by @seratch in https://github.com/openai/openai-agents-python/pull/2320 * Enforce max_output_length for shell tool outputs by @gustavz in https://github.com/openai/openai-agents-python/pull/2299 * fix: #2171 dedupe nested handoff inputs by @seratch in https://github.com/openai/openai-agents-python/pull/2323 * fix: #2317 defer compaction when local tool outputs are present by @seratch in https://github.com/openai/openai-age | Low | 1/16/2026 |
| v0.6.6 | ## What's Changed * feat: #2206 Add responses.compact: auto-compact long conversations by @ruskaruma in https://github.com/openai/openai-agents-python/pull/2224 #2287 * Add AsyncSQLiteSession (aiosqlite-backed async session store) by @gustavz in https://github.com/openai/openai-agents-python/pull/2284 * fix: #2009 #2010 Improve PCM duration calculation and handle VAD truncation by @ruskaruma in https://github.com/openai/openai-agents-python/pull/2059 * Fix thinking tokens not attached with | Low | 1/15/2026 |
| v0.6.5 | ## What's Changed * Add per-run tracing API key support by @rm-openai in https://github.com/openai/openai-agents-python/pull/2260 * Add AgentHookContext with turn_input for agent hooks by @ihower in https://github.com/openai/openai-agents-python/pull/2213 * feat: Add tool guardrails to function_tool decorator args (ref #2218) by @seratch in https://github.com/openai/openai-agents-python/pull/2227 * Add realtime audio mapping support and SIP session payload tests by @seratch in https://gith | Low | 1/6/2026 |
| v0.6.4 | ## What's Changed * feat: Add on_stream to agents as tools by @seratch in https://github.com/openai/openai-agents-python/pull/2169 * fix: Enable creating/disposing Computer per agent run by @seratch in https://github.com/openai/openai-agents-python/pull/2191 * Expose failure_error_function in Agent.as_tool by @Nekowaii in https://github.com/openai/openai-agents-python/pull/2179 * fix #2181 FunctionTool.strict_json_schema is missing when using Chat Completions API by @seratch in https://git | Low | 12/19/2025 |
| v0.6.3 | ## What's Changed * feat: preserve logprobs from chat completions API in ModelResponse by @JRMeyer in https://github.com/openai/openai-agents-python/pull/2134 * Attach context to apply patch operations by @gustavz in https://github.com/openai/openai-agents-python/pull/2162 * [fix] Realtime CLI demo energy threshold by @lionel-oai in https://github.com/openai/openai-agents-python/pull/2166 * upgrade openai dep to v2.9.0 by @rm-openai in https://github.com/openai/openai-agents-python/pull/2177 | Low | 12/11/2025 |
| v0.6.2 | ## What's Changed * fix: allow static tool filtering without agent and run_context in MCPServer by @sevakva in https://github.com/openai/openai-agents-python/pull/2108 * Fix as_tool returning blank string on early tool termination by @ihower in https://github.com/openai/openai-agents-python/pull/2112 * docs: clarify handoff() docs, callable not supported by @ihower in https://github.com/openai/openai-agents-python/pull/2116 * Fix: usage from earlier stream chunks when later chunks have none | Low | 12/4/2025 |
| v0.6.1 | ## What's Changed * fix: invalid model setting when passing prompt to Agent by @seratch in https://github.com/openai/openai-agents-python/pull/1852 * docs: document input guardrail execution modes by @RVV-karma in https://github.com/openai/openai-agents-python/pull/2084 * Update all translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2104 * fix: #2097 fix the default settings for SIP realtime runner by @seratch in https://github.com/openai | Low | 11/20/2025 |
| v0.6.0 | ## Key changes **Handoff behavior has a breaking change in this version**. Specifically, the message history is now collapsed into a single message when handing off to a new agent. We have verified and evaluated this behavior and think it works better, but recommend testing with your agents before upgrading to v0.6.0 in production. ## What's Changed * fix(twilio): add configurable startup delay to avoid initial audio jitter (fixes #1906) by @Shraman123 in https://github.com/openai/openai-ag | Low | 11/18/2025 |
| v0.5.1 | Key update is support for new tools from the GPT-5.1 launch: shell and apply_patch. ## What's Changed * Docs: Add per-request usage to docs and example script by @habema in https://github.com/openai/openai-agents-python/pull/2026 * docs: Update document pages for v0.5.0 release by @seratch in https://github.com/openai/openai-agents-python/pull/2019 * Update all translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/2044 * Fix Anthropic mod | Low | 11/13/2025 |
| v0.5.0 | ## Key Changes This version doesnβt introduce any visible breaking changes, but it includes new features and a few significant updates under the hood: - Added support for `RealtimeRunner` to handle [SIP protocol connections](https://platform.openai.com/docs/guides/realtime-sip) - Significantly revised the internal logic of `Runner#run_sync` for Python 3.14 compatibility ## What's Changed * docs: #1999 adjust the realtime module code comment by @seratch in https://github.com/openai/ope | Low | 11/5/2025 |
| v0.4.2 | ## What's Changed * fix: #1764 enable developers to pass custom reasoning effort for LiteLLM providers by @seratch in https://github.com/openai/openai-agents-python/pull/1972 * ci: make format required (devs should run `make format` before committing) by @filintod in https://github.com/openai/openai-agents-python/pull/1979 * Fix: Add empty checks for reasoning content arrays in stream handler by @gn00295120 in https://github.com/openai/openai-agents-python/pull/1982 * fix: #1942 Enable async | Low | 10/24/2025 |
| v0.4.1 | ## What's Changed * Add breaking change notes in docs by @seratch in https://github.com/openai/openai-agents-python/pull/1894 * Update all translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/1922 * docs: add missing items in side navi bar (ja, zh) by @seratch in https://github.com/openai/openai-agents-python/pull/1932 * Update all translated document pages by @github-actions[bot] in https://github.com/openai/openai-agents-python/pull/1933 | Low | 10/22/2025 |
