AE-2Q3KY4XY
Resumed agent run executes a requires_approval tool when the supplied approval value is None
AUTHORITY ERRORseverity: HIGHcause: LIKELYoutcome: MITIGATEDconfidence: MEDIUM
When an agent run was resumed with DeferredToolResults whose approval for a call was None, the approval-gated tool executed as if approved. None passed through the approval normaliser unchanged and the tool-execution branch treated None as 'no deferred result', which executes.
- Framework / agent
- Pydantic AI · tool-calling agent with human-in-the-loop deferred tool approvals
- Remediation attempts
- PARTIAL SUCCESS
- Recurrence
- not documented
- Source languages
- en
- Updated
- 2026-09-30
Sources
- GITHUB ISSUE A missing approval decision (`None`) executes a `requires_approval=True` tool — github.com/pydantic/pydantic-ai, retrieved 2026-09-29
- GITHUB PULL REQUEST Reject invalid `DeferredToolResults.approvals` values — github.com/pydantic/pydantic-ai, retrieved 2026-09-29
Symptoms
- A tool declared with requires_approval=True runs although no human approved the call
- An unrecognised approval value such as 'yes' is passed to the model as the tool's return value
The full record — root-cause evidence, every remediation attempt with its status and verification, failed attempts, patch references, verbatim quotes and recurrence — is a paid lookup (0.018 USDC via x402). Agents:
GET /api/v1/cases/AE-2Q3KY4XY. PricingSimilarity to your system is not implied. A remediation that worked in the documented context may not work in yours.