AG-UI 1.0 landed on September 30, 2026, and it closes the last open seam in the AI agent protocol stack. The Agent-User Interaction Protocol — which defines how backend agents stream structured events to frontend UIs — is now schema-locked, SDK-generated, and adopted by Google, Microsoft, Amazon, and Oracle. If you are building any user-facing layer on top of an AI agent, you now have a stable contract to build against.
The protocol stack for AI agents has been sorting itself out for most of 2026. MCP handles agent-to-tool connections. A2A handles agent-to-agent communication. AG-UI fills the third slot: agent-to-user-interface. With AG-UI 1.0 stable, all three layers now have versioned, production-grade specs. The question of how to build a real-time, streaming UI for a running agent no longer requires inventing your own event format.
What Flipped at 1.0 #
The core architectural change is schema-first generation. Every one of the 31 event types is now defined by a JSON Schema. The TypeScript, Python, and .NET SDKs are generated directly from that schema — not maintained by hand alongside it. That distinction matters: it eliminates the entire class of “spec says X, SDK does Y” inconsistencies that made 0.x adoption risky for production systems.
The 31 events span 8 categories: run and step lifecycle, text messages, tool calls, reasoning traces, state synchronization, activity signals, subagents, and custom events. The breadth is intentional — the protocol covers what a frontend legitimately needs to know about a running agent, nothing more.
Human-in-the-Loop Is Now a Spec Feature #
The most production-significant addition in 1.0 is first-class interrupt support. An agent can mid-run, push a structured prompt to the frontend — a choice, form, or approval request — and block until the user responds. The resume payload carries the decision back to the agent and execution continues. This is not a CopilotKit abstraction; it is part of the AG-UI 1.0 spec itself.
// Agent side — for user approval
const result = await ctx.interrupt({
type: "choice",
prompt: "Deploy to production?",
choices: ["confirm", "cancel"]
});
The resume call carries interruptId, status (resolved or cancelled), and an optional payload. Enterprise teams shipping agents into workflows involving sensitive operations — deploys, financial actions, data mutations — now have a standardized pattern for gating execution on human approval, rather than retrofitting it on top of a polling loop.
Subagents: The Multi-Agent UI Problem Is Solved #
1.0 ships a dedicated event category for subagents. When a parent agent delegates work to a child agent, the frontend receives the full event tree and can render per-subagent progress. Prior to 1.0, developers building multi-agent UIs had to improvise — emit custom events, maintain side-state, or surrender real-time visibility entirely. The spec now handles the delegation model directly.
Mastra’s September 30 release of @ag-ui/mastra@1.1.5 surfaces native tool approvals as AG-UI interrupts automatically. LangChain, Google ADK, OpenAI Agents SDK, AWS Strands, Microsoft Agent Framework, Pydantic AI, Agno, AG2, and TanStack AI all support AG-UI as of the 1.0 release. The protocol is not CopilotKit’s proprietary layer — it is the de facto standard for agent-to-UI communication across the industry.
Migration Is Mechanical, Not Painful #
AG-UI 1.0 is backwards compatible. A 0.x agent works with a 1.0 client and vice versa, so you can upgrade one side at a time. The breaking changes are minor. In TypeScript, optional protocol fields must be absent rather than null — no more passing rawEvent: null. Custom fields on events move into metadata. SubAgentInfo becomes SubagentInfo (lowercase A). In Python, JSON Patch entries are typed objects instead of dicts, so patch["path"] becomes patch.path.
patch["path"]
patch.path
The official migration guide covers every SDK — TypeScript, Python, and .NET. Most existing codebases need fewer than ten targeted changes. The .NET SDK, contributed by Microsoft, reached 1.0 on NuGet alongside the protocol itself, so .NET teams get a fully supported path from day one.
What to Do Today #
If you are on 0.x, the path is clear: pin ag-ui-protocol >= 1.0.0 in your dependencies, run the migration guide, swap custom event fields for metadata, and add interrupt handlers for any tool that touches something you want a human to review before execution. The GitHub repository has working examples across all supported frameworks.
If you have been waiting for AG-UI to stabilize before adopting it — the wait is over. You now have a versioned, schema-backed spec with major cloud providers committed to it. Build the UI layer.