Pydantic AI 2.50.0 (2026-09-25) adds DecisionModel (TypeSafeModel implements it), named route questions with optional decision_route_threshold, Gemini 3.8 Live realtime, durable-context hooks, and audio_seconds usage pricing.

Key Takeaways

  • ✓DecisionModel base + TypeSafeModel implementer; ask routes by name (#8696, #8733)
  • ✓Opt-in decision_route_threshold replaces tool-call lean; ModelSelectionContext.prompt (#8737/#8739)
  • ✓Gemini 3.8 Live realtime + RequestUsage.audio_seconds (#8393/#8427)
  • ✓decide spans + RunContext.in_durable_context (#8698/#8723)
  • ✓Upgrade: pip install -U 'pydantic-ai==2.50.0'
🔬

In-Depth Technical Analysis

Background

Routing and handoff in multi-model agents were often hardcoded as tool calls. Pydantic AI 2.50.0 makes Decisions a first-class protocol and adds Gemini 3.8 Live support.

Architecture

DecisionModel is the Decisions-protocol base; TypeSafeModel implements it (#8696). Ask routes by name with one label per route (#8733). Nested route-field context and a post-tool done state (#8749). Tool-call lean becomes opt-in decision_route_threshold (#8739). ModelSelectionContext ends with the routed request and adds .prompt (#8737). Every Decision request emits a decide span (#8698). Also: gemini-3.8-live, OpenAI service_tier, and RunContext.in_durable_context.

Benchmarks

No public SWE scores. Pricing fixes: Anthropic 1h cache writes at the 1h rate (#8666); realtime image at image rate; voice via audio_seconds.

Get started

pip install -U 'pydantic-ai==2.50.0'; read the v2.50.0 notes and docs.