
Why it mattersAn agent reviewer that only approves low-risk calls, and never denies or runs one itself, lets a human reader stay the gate on consequential actions while skipping routine ones.
A person asked to approve every ls an agent runs stops reading the requests. Pydantic released pydantic-ai 2.57 overnight with a feature called ApprovalReviewer, a small model wrapper that answers a yes-or-no risk question for each tool call that needs approval and auto-approves the ones it answers "no" to. Everything else, including an "unsure" answer and a model failure, still goes to the person.
The release went out on 2026-10-15 and the pull request that added the feature, #10143, says the goal is the auto-review mode Codex and Claude Code already ship. The new class lives in pydantic_ai_harness.approval_reviewer, is lazily re-exported from pydantic_ai_harness, and runs on the core handle_deferred_tool_calls hook so a human handler only sees what the reviewer left behind.
What the reviewer will and will not do
Pydantic says the reviewer never denies a call and never runs one itself: it widens the set of calls that run without a person, where the parallel ToolCallJudge class can only narrow that set. Both can apply to the same call, and a call the reviewer approves is still judged before it runs. Reviews are sequential within a batch, count against the run's usage and request_limit, and are durable operations under Temporal, DBOS and Prefect. A run budget that cannot fit a review leaves the call for the person.
The rest of 2.57
Pydantic also added a MetaProvider for Meta's Muse models, which uses the Responses API through a meta: prefix. GPT-Live and Gemini Live realtime sessions now share one history, usage and reply-wait path with the rest of the library, which the release lists as a compatibility note rather than a feature. BackgroundTools completions carry namespaced origin and tool_call_id metadata, and planning tool loops on OpenRouterModel stay in the prompt cache with a leading CachePoint attached to the previous user message.
The release notes list more than twenty bug fixes, including token-based compaction holding too little recent history, a stream that releases its concurrency slot only after cleanup, an interrupted stream now charged for its partial response under SpendLimits, and WarnNearLimits no longer deleting user prompts that quote its own marker.
A team on pydantic-ai that wires ApprovalReviewer into its agent spec stays the gate on consequential tool calls while skipping routine ones. The design decision Pydantic documents is one yes-or-no question per reviewer, with tiers expressed as several reviewers that cover separate tools. Nothing lets a failing reviewer approve a call: the fallback for every non-"no" outcome is a person.
Source
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.