Google released A2UI 1.0 on November 11. It's the first stable version of the open generative UI protocol Google has been driving. With it, an AI agent can answer with more than a block of text: it can hand you a card you can tap or fill in, like a form or a calendar picker.
What problem it solves
Talking to an AI agent today feels a bit like computing before graphical interfaces. It can do nearly anything, but almost everything comes back as text. Comparing three products or revising a multi-step plan means scrolling through a wall of text and typing "change the second one."
A2UI splits the work: the agent only says what belongs on screen, and the app paints it using its own native building blocks. The agent doesn't write web code. It just sends a description. The app that receives it renders it in its own design language at native speed, and it can only use components the app registered ahead of time, so the agent can't sneak anything else in.
What it looks like in practice
Atlassian connected it to Jira. Teams assign work items to an AI agent, and when the agent is missing information, it no longer asks in a paragraph. It pops a choice card right inside the work item, and the team taps an answer.

The data platform Alation uses it for dashboards. Ask Claude "which products make the most money," and the reply is a set of metric cards and charts. The same dashboard inside Alation's own app ends up with almost the same layout.

Both screenshots come from Google's developer blog. Google's own Gemini Notebook uses it as well. When you ask it to build slides, it first returns a card asking you to pick "speaker notes or detailed version" and the key topics, then shows a confirmation card. Generation only starts after you've edited it.
What's new in 1.0
| Area | Details |
|---|---|
| Protocol | Adds two-way function calls, so a booking card can check seat availability on the spot. Also adds accessibility support and custom extensions |
| Renderers | Web: React, Angular and Lit. Flutter covers mobile, web and desktop. iOS uses SwiftUI. Android Jetpack Compose is still on 0.9.1, with a 1.0 version on the way |
| Agent-side SDKs | Python, TypeScript and Dart. They help generate skill descriptions, convert messages and auto-correct errors |
| Working with MCP Apps | The web and Flutter renderers can run inside MCP Apps, so A2UI cards can appear in assistants that support MCP Apps, like Claude and Gemini |
The protocol and code are open source on GitHub under the Apache-2.0 license. Companies already using it include Atlassian, Alation, Bloomberg and ByteDance. ByteDance built a renderer for its cross-platform framework Lynx, which currently supports 0.9.
What this means if you use AI agents
If you just use AI agents, there's nothing you need to do right now. Once the apps and assistants you rely on add support, replies will turn into cards on their own.
If you're building a product with an AI agent, it's worth a close look, especially where users need to confirm before anything happens, like placing an order, changing a calendar event or approving a request. A card lets the user adjust things with one tap, and sensitive data can be bound on the server so it never passes through the model.
To get a feel for it, have your AI agent walk you through the official quickstart:
I want to learn about A2UI 1.0 (Google's generative UI protocol) and see it working by running a minimal example on this machine.
1. Open the docs and quickstart at a2ui.org and explain in plain language what I'd need to install
2. Pick the web React renderer and the Python agent SDK, and build a minimal example by following the official steps
3. Ask me before installing any software or using any API key
4. Once it runs, have the agent reply to a question with a card, for example "Help me pick a time between Friday and Saturday to get dinner," and send me a screenshot
Watch out
- It's not an agent that does the work for you. It's only the agreement between an agent and an interface. The features inside the interface still have to be wired up by the developer.
- Platforms are at different stages. The Android renderer and Gemini itself are both still on 0.9.1, and moving from 0.9 means following the official upgrade guide.
- Only registered components work. That's a deliberate security design, but it also means you have to organize your own component library and register it first.


Comments (0)
No comments yet. Start the conversation.