Source: github.com/pydantic/pydantic-ai/releases/tag/v2.68.0
The release adds RequestInput, which lets an agent ask for approvals and answers inside a run. AskUser now runs through the deferred pipeline, and deferred calls carry kind and answered_by fields. ModelFallback also moves to the next model when a response is cut off at max_tokens, using a new OutputTokenLimitExceeded type.
Durable runs get more coverage. Sub-agent delegations to durable delegates can run as Temporal and DBOS child workflows, and a CancellationToken fired from a workflow signal can cancel a Temporal durable run. UI adapter conversations can be loaded and saved through a ConversationStore, and DelegationTasks.discover() was added so one damaged saved task no longer blocks opened().
Several names change in this release. Harness task-control events gain an Event suffix, and fields such as num_results become max_results. Workspace backends must now leave detached processes running, and the release adds a GoogleDecisionsModel backend for the Gemini Decisions API.
Why it matters if you build agents
Agents that wait on people for approval or answers can now do that within a run, though code that reads deferred call data should be checked against the new kind and answered_by fields. Code that uses the renamed harness fields or event names should move to the new names, since the old ones are only kept as deprecated aliases. Teams running Temporal or DBOS can now place sub-agent delegates in child workflows.
Get stories like this every weekday
One short email with the day's agent tooling news.