Microsoft Agent Framework makes AG-UI thread, approval, and authorization boundaries fail closed
Microsoft Agent Framework Python 1.22.0, released October 15, binds workflow continuations and interrupts to the resolved thread ID and prevents client Shared State or stored Thread Snapshots from replacing server-owned tool-approval state. Version 1.23.0 on October 22 then requires an explicit authorization scope or a single-user declaration when registering an AG-UI endpoint, while preserving queued approval results and repeated single-chunk text deltas.
Why it matters
Generative UI puts client state, thread recovery, and approval for sensitive tools into one interaction path. Treating a thread ID as an access credential or allowing a client snapshot to replace approval state can cross tenant and authorization boundaries. These releases turn those hidden assumptions into explicit, fail-closed hosting contracts.
A closer look
Version 1.22.0 tightens request trust boundaries, binds workflow continuation and interrupts to the resolved thread identity, and keeps approval state authoritative on the server even when AG-UI wraps an agent that does not expose its middleware. Version 1.23.0 forces endpoint registration to select an authorization scope or declare a single-user deployment, reducing accidental use of a process-wide boundary in multi-user hosting. It also fixes loss of queued approval results and repeated single-chunk text deltas. The current official README further states that a thread ID is not a bearer credential: production apps must authenticate every request and choose a Snapshot Scope that represents a real user, tenant, or workspace boundary.
Who this is for
Backend, platform, and security teams hosting Microsoft Agent Framework AG-UI endpoints with shared state, workflow recovery, or human approval.
Original sources
- Microsoft Agent Framework official Python 1.22.0 and 1.23.0 releases ↗github.com
- AG-UI request state, snapshot authority and production security guidance ↗github.com
- Microsoft Agent Framework Python 1.22.0 release ↗github.com
Revisions & corrections (1)
— Outside-catalog backfill from two official Microsoft Agent Framework releases; merged because both define the same AG-UI trust boundary across thread recovery, server-owned approvals, and endpoint authorization.