OpenAI's Python SDK 3.x now needs httpx2, breaking fresh installs

The 3.0.0 major swaps httpx for the Pydantic team's httpx2 fork and drops Python 3.9; pin openai<3 for now — and llm-openrouter 0.7 adds server-side tools.

Nowline Aug 23 3:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • httpx is out, httpx2 is in

    openai-python 3.0.0 makes the Pydantic team's httpx2 fork its default HTTP client, replacing httpx. Any tool that pulls openai in transitively — or injects a custom httpx transport — breaks on a fresh install until it adapts to httpx2.

  • It also drops Python 3.9 and certifi

    The same 3.0.0 release raises the floor to Python 3.10+ and verifies TLS against the OS certificate store instead of Python's bundled certifi. Old Linux base images, Windows 7 boxes, or anything leaning on certifi's CA set can start failing.

  • The fix for now: pin openai<3

    Simon Willison already shipped the unblock — llm 0.32.1 pins openai<3 after fresh installs of the LLM CLI stopped working, with a 0.33 planned to migrate to httpx2 cleanly. If your stack broke this week, pinning openai<3 buys you time.

  • Elsewhere: llm-openrouter 0.7 adds server-side tools

    Shipped the same day, llm-openrouter 0.7 adds Shell, WebFetch, and WebSearch as server-side tools plus reasoning traces, through OpenRouter's Responses API — you can now run -T WebSearch against any OpenRouter-hosted model.