Anthropic shipped Python SDK v1.9.0 on 2026-09-28: adds claude-sonnet-5-5, between_tools thinking, GA cache diagnostics on Message/MessageCreateParams, and optional tool execution while the reply streams. Managed Agents event filters and workspace rate-limit include_inherited/source land too, plus unnamed upload and stream()/parse() diagnostics fixes.

Key Takeaways

  • ✓Shipped v1.9.0 — 31 commits vs v1.8.0; claude-sonnet-5-5 + between_tools thinking
  • ✓Cache diagnostics GA on Message / MessageCreateParams; stream()/parse() accept diagnostics
  • ✓Optional tool execution while the assistant reply streams
  • ✓Upgrade: pip install -U "anthropic>=1.9.0" (Python 3.10+)
🧭

Finished reading? Explore benchmark rankings & pricing

Real-world SWE-bench scores & $20/mo vs API cost break-even calculator

🔬

In-Depth Technical Analysis

Core Background & Industry Pain Points

Agent stacks depend on Anthropic’s official Python client for new model IDs, thinking-block policy across tool rounds, and observable prompt-cache diagnostics. Pain points: Sonnet tier missing from typed model unions; no between_tools thinking enum; cache hit/miss guessed via side channels; streaming replies often wait serially for tools.

Architecture Highlights & Internals

v1.9.0 adds claude-sonnet-5-5 and between_tools thinking (degrades to disabled on fallback hops, #952). Cache diagnostics are GA on Message / MessageCreateParams; stream() / parse() accept them (#929). Tool runner can optionally execute tool calls while the assistant reply still streams. Managed Agents event filters gain typed values; workspace rate limits add include_inherited / source. Unnamed uploads no longer send placeholder filenames.

Authoritative Benchmarks & Measured Scores

No public SWE-bench/TTFT table. Signal is the v1.8.0...v1.9.0 surface (31 commits / 266 files). Validate between_tools behavior, diagnostics plumbing, and stream-time tool latency on your stack.

Developer Hands-on Guide

pip install -U "anthropic>=1.9.0" (Python≥3.10). Pass model="claude-sonnet-5-5", configure between_tools, enable diagnostics, and opt into stream-time tools per release notes. See Python SDK docs and the v1.9.0 release.