Skip to main content
Featured AI Agents Google Open Source UI Claude Code

Google A2UI: When AI Agents Learn to Speak UI

Google's new open standard lets AI agents generate rich, interactive interfaces via declarative JSON. 12.9K stars in days. Here's why this changes everything for agent development.

March 13, 2026 8 min read By Claude World

AI agents can write code. They can search the web. They can execute shell commands. But ask them to show you a beautiful, interactive dashboard? They’ll give you a wall of text.

Google just open-sourced a solution: A2UI (Agent-to-User Interface) — and it already has 12.9K stars on GitHub.

GitHub: github.com/google/A2UI (Apache 2.0)

The Problem: Agents Are Blind to UI

Today’s AI agents communicate through text. When an agent needs to show you structured information — a comparison table, a booking form, a data visualization — it’s stuck with markdown at best, or raw JSON at worst.

This is a fundamental limitation:

  • Chat-only interfaces can’t handle complex interactions (date pickers, sliders, multi-step forms)
  • Code generation (generating React/HTML) is a security nightmare — you’d be running LLM-generated code
  • Cross-platform is impossible — an agent can’t generate both Flutter widgets AND React components

A2UI: Safe Like Data, Expressive Like Code

Google’s approach is elegant: agents send declarative JSON describing the intent of a UI, not the implementation.

{
  "type": "card",
  "children": [
    { "type": "text", "content": "Restaurant Found" },
    { "type": "image", "src": "https://..." },
    { "type": "button", "label": "Book Now", "action": "book" }
  ]
}

The client application maps these abstract components to its own native widgets — React components, Flutter widgets, SwiftUI views, or anything else.

Why This Matters

  1. Security first: No executable code from the LLM. The agent can only request components from a pre-approved catalog
  2. LLM-friendly: Flat list of components with IDs — easy for models to generate incrementally
  3. Framework-agnostic: Same JSON payload renders on web, mobile, desktop
  4. Incrementally updatable: Agents can update specific components without regenerating the entire UI

Architecture: 4-Step Flow

Agent (LLM) → A2UI JSON → Transport (A2A/AG UI) → Client Renderer → Native UI
  1. Generation: Agent creates a JSON payload describing UI components
  2. Transport: Sent via Google’s A2A protocol, AG UI, or any transport
  3. Resolution: Client’s A2UI Renderer parses the JSON
  4. Rendering: Abstract components mapped to native implementations

Real Use Cases

This isn’t theoretical. A2UI enables scenarios that pure text agents can’t handle:

  • Dynamic forms: An agent generates a booking form with date pickers and sliders based on conversation context
  • Remote sub-agents: A travel agent returns a rich UI card inside the chat window of an orchestrator agent
  • Adaptive dashboards: Enterprise agents generate approval workflows and data visualizations on the fly

What This Means for Claude Code Developers

If you’re building with Claude Code, A2UI opens new possibilities:

Agent Teams with UI Output

Imagine Claude Code Agent Teams where each agent can return rich UI components instead of just text. A code review agent could return an interactive diff viewer. A deployment agent could show a real-time status dashboard.

MCP + A2UI Integration

MCP servers currently return text results. With A2UI, an MCP server could return structured UI components that the client renders natively. Your custom MCP tool could show a chart, a form, or an interactive table.

Beyond the Terminal

Claude Code today lives in the terminal. A2UI provides a standard for what happens when agents break out of text-only interfaces — and it’s an open standard, not locked to any vendor.

The Competitive Landscape

A2UI doesn’t exist in a vacuum:

ApproachProsCons
A2UI (Google)Security-first, framework-agnostic, open standardEarly stage (v0.8), limited renderers
AG UIReal-time streaming, React-focusedTightly coupled to React ecosystem
Raw HTML/React generationMaximum flexibilitySecurity risk, single-framework
MarkdownUniversal, simpleNo interactivity, limited layout

A2UI’s bet is that security + portability matters more than maximum expressiveness. Given the enterprise market, that’s likely the right bet.

Getting Started

git clone https://github.com/google/A2UI.git
cd A2UI
export GEMINI_API_KEY="your_key"

# Run the restaurant finder demo
cd samples/agent/adk/restaurant_finder
uv run .

Currently supports:

  • Renderers: Lit (web), Flutter (mobile)
  • Agent frameworks: Google ADK, with LangGraph/Genkit coming
  • Transports: A2A Protocol, AG UI

Our Take

A2UI solves a real problem. The terminal-only era of AI agents is ending. As agents become more capable (Claude Code can already manage entire projects autonomously), they need richer ways to communicate with humans.

The question isn’t whether agents will generate UIs — it’s which standard wins. Google has the advantage of:

  • Open source (Apache 2.0)
  • Framework neutrality
  • Security-first design
  • Existing ecosystem (Flutter, Angular, Android)

What’s missing: React support (the web’s dominant framework) and more agent framework integrations. Both are on the roadmap.

The bottom line: If you’re building AI agents that interact with humans, bookmark A2UI. It’s v0.8 today, but the concept — agents speaking UI through a safe, declarative format — is the future.


Source: github.com/google/A2UI