Daily News · 2 min read

Pydantic AI AI Updates: October 2, 2026

1. Pydantic AI 2.53 Patches a High-Severity Concurrency Limiter Bug

Pydantic AI. Version 2.53.0 fixes GHSA-6fqq-452j-qhrp (rated high), in which a streamed request through ConcurrencyLimitedModel or limit_model_concurrency could keep its concurrency slot when the slot was released on a different task than the one that acquired it, for example after an early exit or after fully consuming stream_text() with default debouncing. Repeated streams could then block every request sharing the limiter; agent-level max_concurrency and non-streaming requests were not affected, and v1 is not affected. The fix also changes limiter semantics: a model wrapper now raises UserError if it shares a limiter with its agent or an enclosing wrapper, ConcurrencyLimiter.acquire() takes a slot on every call, and custom AbstractConcurrencyLimiter implementations must allow release() from another task. Source

2. ToolCallJudge, Managed Subagents in CLAI2, and a repair_messages API

Pydantic AI. The same release adds ToolCallJudge for assessing tool calls before they execute, exposes the message-history repair pipeline as repair_messages, adds AbsurdDurability to the harness as a replacement for pydantic-ai-absurd, and introduces SystemOneModel for running decision models over the /v1/systemone API. The CLAI2 terminal agent gains managed subagents with Claude and Codex agent definitions, declarative plugins (built-in PostHog, Linear, Grain, and Logfire observability plugins), provider-specific /login, and an /update command with stable and bleeding channels. Compatibility notes flag that CLAI2 plugins are now declarative Plugin subclasses and that TestModel now generates data for oneOf schemas. Source