# A2UI (Agent to UI) Protocol vs Agent-User Interaction Protocol

The map lists them as complementary: sites and agents commonly implement both.

[8 Present](/category/present/) [A2UI (Agent to UI) Protocol](/protocols/a2ui/) · [8 Present](/category/present/) [Agent-User Interaction Protocol](/protocols/ag-ui/)

|  | [A2UI (Agent to UI) Protocol](/protocols/a2ui/) A2UI | [Agent-User Interaction Protocol](/protocols/ag-ui/) AG-UI |
| --- | --- | --- |
| Lifecycle step | 8 Present: Show a human the result | 8 Present: Show a human the result |
| Answers | How can an agent describe and stream a framework-neutral, declarative UI to a renderer? | How does an agent stream state, generative UI, messages, and tool activity into a user-facing application in real time? |
| Governed by | a2ui-project GitHub organisation (moved from google/A2UI) | AG-UI open-source project (github.com/ag-ui-protocol), originated and still primarily stewarded by CopilotKit; biweekly public working group |
| Status (issuer's words) | Early stage public preview: v0.9.1 is the 'Current' production release, v1.0 is a release 'Candidate', v0.8 is legacy | 1.0 released and frozen; JSON Schema published |
| Phase | candidate | stable |
| Version | v1.0 (Candidate); v0.9.1 (Current) (2026-06-08) | 1.0 (2026-09-18) |
| Form / transport | document format | endpoint |
| Found at | No fixed well-known path; renderer and agent capabilities (supported catalogs, custom components) are exchanged via transport-specific handshakes, e.g. A2A Agent Cards or MCP initialization metadata | No fixed well-known path; a client is coded against a known agent backend endpoint that emits an AG-UI-compatible event stream over an agreed transport (SSE, WebSockets, webhooks) |
| Adoption | observed | observed |
| Evidence | 4 verified, 1 reported | 4 verified, 2 reported |
| Primary use case | Render agent output as a user interface | Render agent output as a user interface |
| Last verified | 2026-10-19 (current) | 2026-10-19 (current) |
| Specification | [https://github.com/a2ui-project/A2UI](https://github.com/a2ui-project/A2UI) | [https://docs.ag-ui.com/introduction](https://docs.ag-ui.com/introduction) |

## When to use which

- Choose A2UI (Agent to UI) Protocol when your question is “How can an agent describe and stream a framework-neutral, declarative UI to a renderer?” and you accept its maturity: phase candidate, adoption observed.
- Choose Agent-User Interaction Protocol when your question is “How does an agent stream state, generative UI, messages, and tool activity into a user-facing application in real time?” and you accept its maturity: phase stable, adoption observed.

Guidance is derived from the two records (question, phase, adoption, prerequisites, pairings), not from opinion. Each record's page carries its numbered references.

## Read the full articles

- [A2UI (Agent to UI) Protocol](/protocols/a2ui/): How can an agent describe and stream a framework-neutral, declarative UI to a renderer?
- [Agent-User Interaction Protocol](/protocols/ag-ui/): How does an agent stream state, generative UI, messages, and tool activity into a user-facing application in real time?

Ask the MCP server to compare any two: the compare-protocols prompt, or get on both ids. [Connect](/connect/).

[a2ui.json](/data/protocols/a2ui.json) · [ag-ui.json](/data/protocols/ag-ui.json) · [Markdown](/compare/a2ui-vs-ag-ui/index.md)
