Skip to content
Automation Squad
Two precision machined couplings held apart, their threads visibly mismatched
Tools·2 min read·By the Automation Squad Research

The Agents SDK Now Demands openai v3

A dependency-tree break dressed as a routine release. The testing modules underneath it are the actually good news.

Robert MacKelfresh

By Robert MacKelfresh

Founder, Automation Squad ·

The short answer

OpenAI Agents SDK Python v0.21.0, released August 15, 2026, changes its dependency pin to openai>=3.0.0,<4. Anyone still on openai v2 will hit a dependency conflict on upgrade. The same release adds provider-neutral testing modules — agents.testing, agents.realtime.testing and agents.voice.testing — for deterministic tests with no live provider requests.

Upgrade map

What changed, what breaks, and the testing modules worth the upgrade

Two releases in three days across both SDKs. The pin is the thing that will interrupt your afternoon; the testing modules are the reason to do it anyway.

  1. Check which openai version you are on before upgrading anything

    pip show openai, or look at your lockfile. If it resolves to 2.x, the Agents SDK upgrade will fail or force a resolution you did not intend — and in a shared environment it may drag other packages with it.

  2. Upgrade in a branch, not in place

    This is a major version bump on a core dependency with changed HTTP handling underneath. It is the kind of change that works fine until one library in your tree disagrees about httpx.

  3. Then use the reason you upgraded — write one deterministic test

    agents.testing with ScriptedModel lets you assert on agent behaviour without a single provider request. That means tests that are free, fast, and do not fail because a model was in a mood.

  4. Start with the workflow that broke most recently

    Take the last agent failure you debugged by hand, script the model responses that produced it, and turn it into a test. That single test is worth more than any amount of general coverage.

  5. If you are on TypeScript, look at Standard Schema

    v0.16.0 adds Standard Schema support for tool inputs, handoffs and structured outputs alongside Zod and raw JSON Schema. It decouples your tool definitions from Zod specifically, which matters if you are validating with something else elsewhere.

ChangeWhereWhat it means
Dependency pin → openai>=3.0.0,<4Python v0.21.0Breaks if you are still on openai v2
HTTPX2-aware request/response/transport handlingPython v0.21.0Comes with the v3 upgrade
agents.testing / realtime.testing / voice.testingPython v0.21.0Deterministic tests, no provider calls
ScriptedModel, scriptedSandboxSession(), ScriptedRealtimeTransportJS/TS v0.16.0Same idea, TypeScript side
Standard Schema for tools, handoffs, structured outputsJS/TS v0.16.0Decouples tool definitions from Zod
Model call timeoutsBothA hung call no longer hangs the run
Run-scoped sandbox working directoriesPython v0.21.0Isolation between runs
Docker sandbox network disablingPython v0.21.0Cut network access for a sandboxed run
MCP snapshot isolation + configurable retry backoffPython v0.21.0Fewer flaky MCP failures

Take it with you

OPENAI AGENTS SDK — v0.21.0 (Python) / v0.16.0 (JS-TS)
Released Aug 15-16, 2026
Source: https://automationsquad.com/news/openai-agents-sdk-v3-pin/

THE BREAKING BIT
  Python dependency pin moves to:  openai>=3.0.0,<4
  If you are still on openai v2, your upgrade will conflict.
  Comes with HTTPX2-aware request/response/transport/exception handling.

BEFORE YOU UPGRADE
[ ] pip show openai  ->  version: ________
[ ] If 2.x: upgrade in a BRANCH, not in place
[ ] Check the rest of the tree for anything pinned to httpx

THE GOOD NEWS — deterministic testing, no provider calls
  Python:  agents.testing
           agents.realtime.testing
           agents.voice.testing
  JS/TS:   ScriptedModel
           scriptedSandboxSession()
           ScriptedRealtimeTransport

[ ] Write ONE test: take the last agent failure I debugged by hand,
    script the model responses that caused it, assert on the behaviour
    -> free, fast, and doesn't fail because a model was in a mood

ALSO IN THESE RELEASES
  Model call timeouts (a hung call no longer hangs the run)
  Run-scoped sandbox working directories
  Docker sandbox network disabling
  MCP snapshot isolation + configurable retry backoff
  JS/TS: Standard Schema for tools/handoffs/structured outputs
         (decouples tool definitions from Zod)

OpenAI released Agents SDK Python v0.21.0 on August 15, 2026, followed by v0.21.1 on August 16, and JS/TS v0.16.0 and v0.16.1 across the same weekend.

The facts: the Python release moves its dependency pin to openai>=3.0.0,<4, bringing HTTPX2-aware request, response, transport and exception handling with it. The release notes state it does not introduce a known breaking SDK behaviour change — the disruption is in the dependency tree rather than in the API. Alongside that, three provider-neutral testing modules arrived: agents.testing, agents.realtime.testing and agents.voice.testing, enabling deterministic agent, sandbox, realtime and voice tests without provider requests. The TypeScript side gained ScriptedModel, scriptedSandboxSession() and ScriptedRealtimeTransport, plus Standard Schema support for tool inputs, handoffs and structured outputs alongside Zod and raw JSON Schema. Both releases add model call timeouts; Python adds run-scoped sandbox working directories, Docker sandbox network disabling, and MCP snapshot isolation with configurable retry backoff.

Automation Squad's take: the pin will generate more support threads than the features will, which is a shame, because the testing modules are the most useful thing in either release. Testing agent behaviour has been genuinely awkward — your test suite either calls a live model, making it slow, expensive and non-deterministic, or it mocks so aggressively that it stops testing anything real. Scripted models sit in between: real SDK machinery, scripted responses, repeatable results. That is the missing piece for anyone who has watched an agent workflow work on Tuesday and fail on Thursday with no code change. The dependency bump is ordinary major-version housekeeping, and the only reason it matters is that a lot of projects pin openai loosely and will discover the conflict at the worst moment.

Run this now: check what version of the openai package you actually resolve to before upgrading anything — pip show openai, or read your lockfile. If it is 2.x, do the upgrade in a branch rather than in place, because a major version bump with changed HTTP handling underneath is exactly the kind of change that surfaces a conflict elsewhere in your tree. Then take the last agent failure you debugged by hand, script the model responses that produced it, and turn it into a test. One real regression test is worth more than the rest of the release notes combined.

Questions people are asking

What breaks in OpenAI Agents SDK v0.21.0?
The dependency pin moves to openai>=3.0.0,<4. If your project is still on openai v2, upgrading the Agents SDK will produce a dependency conflict or force a resolution you did not choose. The release notes state it does not introduce a known breaking SDK behaviour change — the break is in the dependency tree.
What are the new testing modules for?
agents.testing, agents.realtime.testing and agents.voice.testing let you test agent, sandbox, realtime and voice workflows deterministically without making provider requests. On the TypeScript side the equivalents are ScriptedModel, scriptedSandboxSession() and ScriptedRealtimeTransport.
What is Standard Schema support in the JS SDK?
Added in v0.16.0, it lets you define tool inputs, handoffs and structured outputs using Standard Schema alongside Zod and raw JSON Schema, decoupling tool definitions from Zod specifically.
Are there other changes worth knowing about?
Model call timeouts so a hung call no longer hangs the run, run-scoped sandbox working directories, the ability to disable networking in a Docker sandbox, and MCP snapshot isolation with configurable retry backoff.

Further reading

Last checked August 17, 2026 against the primary sources above, by Automation Squad Research. Spot an error? [email protected].

Related artifacts

More news