Demos

715 results

Most Popular

CopilotKit's Built-in Agent

CLI Start Command

Copy-paste command to clone the canonical starter

CopilotKit's Built-in Agent

Beautiful Chat

Polished starter chat with two-pane layout and pre-wired suggestions

CopilotKit's Built-in Agent

Agentic Chat

Natural conversation with frontend tool execution

CopilotKit's Built-in Agent

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

CopilotKit's Built-in Agent

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

CopilotKit's Built-in Agent

Chat Customization (Slots)

Customize CopilotChat via its slot system

CopilotKit's Built-in Agent

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

CopilotKit's Built-in Agent

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

CopilotKit's Built-in Agent

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

CopilotKit's Built-in Agent

In-Chat Human in the Loop

User approves agent actions before execution

CopilotKit's Built-in Agent

Tool Rendering

Backend agent tools rendered as UI components

CopilotKit's Built-in Agent

Tool-Based Generative UI

Agent uses tools to trigger UI generation

CopilotKit's Built-in Agent

Agentic Generative UI

Long-running agent tasks with generated UI

CopilotKit's Built-in Agent

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back

CopilotKit's Built-in Agent

State Streaming

Per-token state delta streaming from agent to UI

CopilotKit's Built-in Agent

Sub-Agents

Multiple agents with visible task delegation

CopilotKit's Built-in Agent

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

CopilotKit's Built-in Agent

MCP Apps

MCP server-driven UI via activity renderers

CopilotKit's Built-in Agent

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

CopilotKit's Built-in Agent

Open-Ended Generative UI (Advanced)

Sandboxed iframe UI calls back into host-defined functions

CopilotKit's Built-in Agent

Tool Rendering: Default Catch-all

Built-in DefaultToolCallRenderer wired with no config

CopilotKit's Built-in Agent

Tool Rendering: Custom Catch-all

Single branded wildcard renderer for every tool call

CopilotKit's Built-in Agent

Frontend Tools

Tool defined in React, executed in the browser, invoked by the agent

CopilotKit's Built-in Agent

Frontend Tools (Async)

Async frontend-tool handler with branded per-tool render

CopilotKit's Built-in Agent

In-App Human in the Loop

Async frontend-tool handler resolved by an app-level approval modal

CopilotKit's Built-in Agent

Readonly Agent Context

Frontend publishes structured read-only context to the agent via useAgentContext

CopilotKit's Built-in Agent

Authentication

Bearer-token gate on the runtime via the V2 onRequest hook

CopilotKit's Built-in Agent

Agent Config Object

Typed config (tone / expertise / responseLength) forwarded via provider properties

CopilotKit's Built-in Agent

Voice Input

Speech-to-text via @copilotkit/voice with sample-audio button

CopilotKit's Built-in Agent

Multimodal Attachments

Image and PDF uploads answered by the vision-capable gpt-4o agent

CopilotKit's Built-in Agent

BYOC: Hashbrown

Streaming structured output via @hashbrownai/react

CopilotKit's Built-in Agent

BYOC: json-render

Streaming structured output via @json-render/react

CopilotKit's Built-in Agent

Agentic Chat (Reasoning)

Visible chain-of-thought during normal conversation, rendered via a custom reasoningMessage slot

CopilotKit's Built-in Agent

Reasoning (Default Render)

Zero-config rendering of the agent's reasoning chain via CopilotKit's built-in reasoning message

CopilotKit's Built-in Agent

Tool Rendering: Reasoning Chain

Sequential tool calls interleaved with the agent's visible reasoning chain

CopilotKit's Built-in Agent

Declarative Generative UI (A2UI Dynamic)

Agent designs an A2UI component tree at runtime from a registered catalog

CopilotKit's Built-in Agent

A2UI Fixed Schema (Flight Card)

Frontend owns the component tree; the agent only streams data

CopilotKit's Built-in Agent

Gen UI Interrupt (Frontend Tool)

In-chat time-picker via useFrontendTool with an async handler that blocks until the user picks a slot — Strategy B adaptation of the LangGraph interrupt primitive

CopilotKit's Built-in Agent

Headless Interrupt (Frontend Tool)

Time-picker popup rendered outside the chat in the app surface — headless variant of the Strategy B interrupt adaptation

LangGraph (Python)LangGraph Platform

CLI Start Command

Copy-paste command to clone the canonical starter

LangGraph (Python)LangGraph Platform

Pre-Built: CopilotChat

Vanilla CopilotChat with three starter-prompt suggestions — the minimum-viable surface for free-form chat

LangGraph (Python)LangGraph Platform

Chat Customization: CSS

Default CopilotChat re-themed via CopilotKitCSSProperties

LangGraph (Python)LangGraph Platform

Generative UI: Tool Rendering (Default)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

LangGraph (Python)LangGraph Platform

Generative UI: Tool Rendering (Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

LangGraph (Python)LangGraph Platform

Frontend Tools: In-app Actions

Agent invokes client-side handlers registered with useFrontendTool

LangGraph (Python)LangGraph Platform

Frontend Tools: Async

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

LangGraph (Python)LangGraph Platform

Human In the Loop: In-chat

Time-slot picker rendered inline in the chat via `useHumanInTheLoop` — the agent requests user input, the frontend renders a TimePickerCard, and the user's choice resumes the agent.

LangGraph (Python)LangGraph Platform

Human in the Loop: In-app

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

LangGraph (Python)LangGraph Platform

Generative UI: Tool Rendering (Custom)

Custom per-tool renderers (WeatherCard, FlightListCard) plus a wildcard catch-all for every other tool

LangGraph (Python)LangGraph Platform

Generative UI: Tool calls + reasoning

Per-tool renderers (WeatherCard, FlightListCard, custom catchall) interleaved with a reasoningMessage slot rendering the agent's reasoning tokens — combines reasoning-display + tool-rendering in one chat surface.

LangGraph (Python)LangGraph Platform

Generative UI: useComponent

Agent uses tools to trigger UI generation

LangGraph (Python)LangGraph Platform

Generative UI: Agent State

Agent-state-driven Gen UI — the agent plans a live step list via Command(update={steps}); the frontend subscribes through useAgent and renders the steps inside CopilotChat's messageView.children slot.

LangGraph (Python)LangGraph Platform

Shared State: Streaming

Per-token state delta streaming from agent to UI

LangGraph (Python)LangGraph Platform

Shared State: Read + Write

Bidirectional shared state — UI writes preferences via agent.setState; agent writes notes via a Command-returning tool

LangGraph (Python)LangGraph Platform

Shared State: Read-only

Recipe editor publishes form state via agent.setState; the agent reads the recipe context but does not mutate it (no backend tool — neutral default agent).

LangGraph (Python)LangGraph Platform

Sub-Agents

Multiple agents with visible task delegation

LangGraph (Python)LangGraph Platform

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

LangGraph (Python)LangGraph Platform

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

LangGraph (Python)LangGraph Platform

Chat Customization: Slots

Customize CopilotChat via its slot system

LangGraph (Python)LangGraph Platform

Headless UI: Simple

Minimum viable headless chat — useAgent + useCopilotKit dressed in shadcn/ui primitives. No tool rendering, no generative UI, just text in / text out.

LangGraph (Python)LangGraph Platform

Headless UI: Complete

Full headless surface — hand-rolled CopilotChat replacement that wires every render hook (useRenderTool, useDefaultRenderTool, useComponent, useRenderToolCall, useRenderActivityMessage, useSuggestions, useAttachments) on top of shadcn primitives.

LangGraph (Python)LangGraph Platform

Reasoning: Default

Built-in CopilotChatReasoningMessage rendering with no slot override.

LangGraph (Python)LangGraph Platform

Reasoning: Custom

Visible reasoning/thinking chain alongside the final answer

LangGraph (Python)LangGraph Platform

Human in the Loop: Interrupts

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the LangGraph interrupt lifecycle

LangGraph (Python)LangGraph Platform

Human in the Loop: Headless Interrupts

Same interrupt(...) backend pattern as gen-ui-interrupt, but the time-picker mounts in a separate app-surface pane (left) instead of inline inside the chat — uses useHeadlessInterrupt (custom-event subscribe + manual runAgent forwardedProps.command.resume).

LangGraph (Python)LangGraph Platform

Declarative UI: Dynamic A2UI

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically

LangGraph (Python)LangGraph Platform

Declarative UI: Fixed A2UI

Render an A2UI tree from a fixed, server-side schema — the agent streams data into a pre-authored component tree

LangGraph (Python)LangGraph Platform

MCP Apps

MCP server-driven UI via activity renderers

LangGraph (Python)LangGraph Platform

Shared State: Frontend Context

Frontend provides read-only context to the agent via useAgentContext

LangGraph (Python)LangGraph Platform

Declarative UI: json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

LangGraph (Python)LangGraph Platform

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

LangGraph (Python)LangGraph Platform

Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

LangGraph (Python)LangGraph Platform

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

LangGraph (Python)LangGraph Platform

Declarative UI: Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

LangGraph (Python)LangGraph Platform

Open Generative UI: Default

Agent composes UI from a registered component library — distinct from Tool Rendering, which attaches a custom renderer to a *named* backend tool. Use Open Generative UI when you want the agent to assemble UI freely from a palette you control.

LangGraph (Python)LangGraph Platform

Open Generative UI: Custom

Same Open Generative UI surface, with the iframe-rendered components able to call back into frontend sandbox functions (e.g., a Calculator app whose buttons trigger handlers in the host page).

LangGraph (Python)LangGraph Platform

Voice

Speech-to-text via @copilotkit/voice with a bundled sample audio button

LangGraph (Python)LangGraph Platform

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

LangGraph (TypeScript)LangGraph Platform

CLI Start Command

Copy-paste command to clone the canonical starter

LangGraph (TypeScript)LangGraph Platform

Agentic Chat

Natural conversation with frontend tool execution

LangGraph (TypeScript)LangGraph Platform

In-Chat Human in the Loop (Original)

User approves agent actions before execution

LangGraph (TypeScript)LangGraph Platform

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

LangGraph (TypeScript)LangGraph Platform

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

LangGraph (TypeScript)LangGraph Platform

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

LangGraph (TypeScript)LangGraph Platform

Tool Rendering

Backend agent tools rendered as UI components

LangGraph (TypeScript)LangGraph Platform

Tool-Based Generative UI

Agent uses tools to trigger UI generation

LangGraph (TypeScript)LangGraph Platform

Agentic Generative UI

Long-running agent tasks with generated UI

LangGraph (TypeScript)LangGraph Platform

State Streaming

Per-token state delta streaming from agent to UI

LangGraph (TypeScript)LangGraph Platform

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences via agent.setState; agent writes notes via a Command-returning tool

LangGraph (TypeScript)LangGraph Platform

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents exposed as tools — each delegation appended to a live log in shared state

LangGraph (TypeScript)LangGraph Platform

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

LangGraph (TypeScript)LangGraph Platform

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

LangGraph (TypeScript)LangGraph Platform

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

LangGraph (TypeScript)LangGraph Platform

Chat Customization (Slots)

Customize CopilotChat via its slot system

LangGraph (TypeScript)LangGraph Platform

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

LangGraph (TypeScript)LangGraph Platform

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

LangGraph (TypeScript)LangGraph Platform

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

LangGraph (TypeScript)LangGraph Platform

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

LangGraph (TypeScript)LangGraph Platform

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

LangGraph (TypeScript)LangGraph Platform

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

LangGraph (TypeScript)LangGraph Platform

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

LangGraph (TypeScript)LangGraph Platform

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

LangGraph (TypeScript)LangGraph Platform

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

LangGraph (TypeScript)LangGraph Platform

Reasoning

Visible reasoning/thinking chain alongside the final answer

LangGraph (TypeScript)LangGraph Platform

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

LangGraph (TypeScript)LangGraph Platform

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the LangGraph interrupt lifecycle

LangGraph (TypeScript)LangGraph Platform

Headless Interrupt (testing)

Resolve langgraph interrupts from a plain button grid — no chat, no useInterrupt render prop

LangGraph (TypeScript)LangGraph Platform

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; backend agent owns the generate_a2ui tool

LangGraph (TypeScript)LangGraph Platform

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

LangGraph (TypeScript)LangGraph Platform

MCP Apps

MCP server-driven UI via activity renderers

LangGraph (TypeScript)LangGraph Platform

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

LangGraph (TypeScript)LangGraph Platform

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

LangGraph (TypeScript)LangGraph Platform

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

LangGraph (TypeScript)LangGraph Platform

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

LangGraph (TypeScript)LangGraph Platform

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

LangGraph (TypeScript)LangGraph Platform

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

LangGraph (TypeScript)LangGraph Platform

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

LangGraph (TypeScript)LangGraph Platform

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

MastraMastra Cloud

CLI Start Command

Copy-paste command to scaffold the canonical Mastra starter

MastraMastra Cloud

Agentic Chat

Natural conversation with frontend tool execution

MastraMastra Cloud

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

MastraMastra Cloud

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat

MastraMastra Cloud

Tool Rendering

Custom per-tool renderers plus a wildcard catch-all for every other tool

MastraMastra Cloud

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines tools; frontend adds zero custom renderers

MastraMastra Cloud

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool

MastraMastra Cloud

Agentic Generative UI

Long-running agent tasks with generated UI

MastraMastra Cloud

State Streaming

Per-token state delta streaming from agent to UI

MastraMastra Cloud

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

MastraMastra Cloud

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

MastraMastra Cloud

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

MastraMastra Cloud

Chat Customization (Slots)

Customize CopilotChat via its slot system

MastraMastra Cloud

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

MastraMastra Cloud

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

MastraMastra Cloud

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

MastraMastra Cloud

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation and uses the returned result

MastraMastra Cloud

Reasoning

Visible reasoning/thinking chain alongside the final answer (via custom reasoningMessage slot)

MastraMastra Cloud

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

MastraMastra Cloud

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent via useAgentContext

MastraMastra Cloud

Declarative Generative UI (A2UI — Dynamic Schema)

Dynamic A2UI surfaces generated by the `generate_a2ui` tool; frontend supplies a typed catalog (Card, Metric, PieChart, BarChart, …)

MastraMastra Cloud

A2UI Fixed Schema

Frontend-owned component tree; agent streams data into the data model (flight card built from Card > Column > Title/Airport/Arrow/AirlineBadge/PriceTag/Button)

MastraMastra Cloud

Headless Chat (Complete)

Full chat-from-scratch on useAgent — custom bubbles, manual generative-UI composition via useRenderToolCall / useRenderActivityMessage / useRenderCustomMessages

MastraMastra Cloud

Authentication

Bearer-token gate enforced by the V2 runtime's onRequest hook — unauthenticated requests 401 before reaching the agent

MastraMastra Cloud

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences via agent.setState; backend reads them every turn and writes notes back via the set_notes tool

MastraMastra Cloud

Sub-Agents

Supervisor Mastra Agent delegates to research / writing / critique sub-agents; every delegation appended to a live UI log via shared state

MastraMastra Cloud

Beautiful Chat (Flagship)

Flagship CopilotKit showcase combining A2UI, Open Generative UI, and MCP Apps in one cell

MastraMastra Cloud

BYOC — Hashbrown

Bring-your-own-component dashboard rendered via @hashbrownai/react useUiKit + useJsonParser

MastraMastra Cloud

BYOC — JSON Render

Bring-your-own-component dashboard rendered from a streamed JSON envelope into a frontend-owned catalog

MastraMastra Cloud

Multimodal Attachments

Image + PDF uploads forwarded to a vision-capable Mastra agent (gpt-4o)

MastraMastra Cloud

Open Generative UI

Agent-authored HTML + CSS streamed into a sandboxed iframe via the runtime's openGenerativeUI flag

MastraMastra Cloud

Open Generative UI (Advanced)

Open Generative UI with host-side sandbox functions wired through the iframe bridge

MastraMastra Cloud

Voice Input

Mic-to-text input via OpenAI Whisper, streamed into the chat composer

MastraMastra Cloud

Tool-Based Generative UI

Agent uses a frontend tool to trigger rich generative UI inline in the chat

MastraMastra Cloud

Human in the Loop (Step Selection)

Step-selection HITL surface rendered inline via `useHumanInTheLoop` (the LangGraph-specific `useLangGraphInterrupt` branch is a no-op on Mastra)

MastraMastra Cloud

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow (alias of hitl-in-chat)

MastraMastra Cloud

MCP Apps

MCP server-driven UI rendered inline via the runtime's mcpApps config and the built-in activity renderer

MastraMastra Cloud

Tool Rendering + Reasoning Chain

Sequential tool calls rendered with per-tool components plus a reasoning chain rendered inline via a custom reasoningMessage slot

MastraMastra Cloud

Gen UI Interrupt (Frontend Tool)

In-chat time-picker via useFrontendTool with an async handler that blocks until the user picks a slot — Strategy B adaptation of the LangGraph interrupt primitive

MastraMastra Cloud

Headless Interrupt (Frontend Tool)

Time-picker popup rendered outside the chat in the app surface — headless variant of the Strategy B interrupt adaptation

CrewAI (Crews)CrewAI Enterprise

CLI Start Command

Copy-paste command to clone the canonical starter

CrewAI (Crews)CrewAI Enterprise

Agentic Chat

Natural conversation with frontend tool execution

CrewAI (Crews)CrewAI Enterprise

Reasoning

Visible reasoning/thinking chain alongside the final answer

CrewAI (Crews)CrewAI Enterprise

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

CrewAI (Crews)CrewAI Enterprise

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

CrewAI (Crews)CrewAI Enterprise

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

CrewAI (Crews)CrewAI Enterprise

Chat Customization (Slots)

Customize CopilotChat via its slot system

CrewAI (Crews)CrewAI Enterprise

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

CrewAI (Crews)CrewAI Enterprise

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

CrewAI (Crews)CrewAI Enterprise

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

CrewAI (Crews)CrewAI Enterprise

In-Chat Human in the Loop

User approves agent actions before execution

CrewAI (Crews)CrewAI Enterprise

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

CrewAI (Crews)CrewAI Enterprise

In-App Human in the Loop

Agent requests approval via useFrontendTool; the approval UI pops up as an app-level modal OUTSIDE the chat

CrewAI (Crews)CrewAI Enterprise

In-Chat Human in the Loop (original)

Original CrewAI HITL demo — kept for backwards-compat

CrewAI (Crews)CrewAI Enterprise

Tool Rendering

Custom per-tool renderers plus a wildcard catch-all for every other tool

CrewAI (Crews)CrewAI Enterprise

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

CrewAI (Crews)CrewAI Enterprise

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

CrewAI (Crews)CrewAI Enterprise

Tool Rendering + Reasoning Chain

Sequential tool calls with reasoning tokens side-by-side

CrewAI (Crews)CrewAI Enterprise

Agentic Generative UI

Long-running agent tasks with generated UI

CrewAI (Crews)CrewAI Enterprise

Tool-Based Generative UI

Agent uses tools to trigger UI generation

CrewAI (Crews)CrewAI Enterprise

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

CrewAI (Crews)CrewAI Enterprise

Frontend Tools (Async)

useFrontendTool with an async handler

CrewAI (Crews)CrewAI Enterprise

State Streaming

Per-token state delta streaming from agent to UI

CrewAI (Crews)CrewAI Enterprise

Shared State (Read + Write)

Bidirectional shared state - UI writes preferences, agent writes notes

CrewAI (Crews)CrewAI Enterprise

Sub-Agents

Supervisor delegates to research / writing / critique CrewAI sub-crews with a live delegation log

CrewAI (Crews)CrewAI Enterprise

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

CrewAI (Crews)CrewAI Enterprise

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

CrewAI (Crews)CrewAI Enterprise

Open-Ended Gen UI (Advanced)

Agent-authored UI that invokes host sandbox functions from inside the iframe

CrewAI (Crews)CrewAI Enterprise

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent

CrewAI (Crews)CrewAI Enterprise

Authentication

Runtime-level bearer-token auth via the V2 onRequest hook

CrewAI (Crews)CrewAI Enterprise

Voice Input

Speech-to-text transcription via @copilotkit/voice mounted on a per-demo runtime

CrewAI (Crews)CrewAI Enterprise

Multimodal Attachments

Image and PDF uploads routed through the AG-UI attachment pipeline

CrewAI (Crews)CrewAI Enterprise

Declarative Generative UI (A2UI - Dynamic Schema)

Branded A2UI components generated by a secondary LLM against a custom catalog

CrewAI (Crews)CrewAI Enterprise

A2UI Fixed-Schema

Pre-authored component tree; the agent streams only data into the data model

CrewAI (Crews)CrewAI Enterprise

BYOC (Hashbrown)

Streaming structured output via @hashbrownai/react against a custom catalog

CrewAI (Crews)CrewAI Enterprise

BYOC (json-render)

Flat {root, elements} spec rendered by @json-render/react against a Zod catalog

CrewAI (Crews)CrewAI Enterprise

Beautiful Chat

Flagship showcase - polished brand-styled chat with A2UI, Open Generative UI, and shared-state todos

CrewAI (Crews)CrewAI Enterprise

MCP Apps

MCP server-driven UI via activity renderers

CrewAI (Crews)CrewAI Enterprise

Gen UI Interrupt (Strategy B)

Interrupt-style scheduling via useFrontendTool with an async Promise — time-picker card rendered inline in chat

CrewAI (Crews)CrewAI Enterprise

Headless Interrupt (Strategy B)

Headless interrupt via useFrontendTool — time-picker popup appears in the app surface outside the chat

Agent Frameworks

Google ADKGoogle AI Studio

CLI Start Command

Copy-paste command to clone the canonical starter

Google ADKGoogle AI Studio

Pre-Built: CopilotChat

Vanilla CopilotChat with three starter-prompt suggestions — the minimum-viable surface for free-form chat

Google ADKGoogle AI Studio

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

Google ADKGoogle AI Studio

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

Google ADKGoogle AI Studio

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

Google ADKGoogle AI Studio

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

Google ADKGoogle AI Studio

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation and uses the returned result

Google ADKGoogle AI Studio

Human In the Loop: In-chat

Time-slot picker rendered inline in the chat via `useHumanInTheLoop` — the agent requests user input, the frontend renders a TimePickerCard, and the user's choice resumes the agent.

Google ADKGoogle AI Studio

MCP Apps

Runtime mcpApps config wires an Excalidraw MCP server; the built-in MCPAppsActivityRenderer renders the sandboxed iframe inline in the chat with no app-side renderer

Google ADKGoogle AI Studio

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via a frontend tool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

Google ADKGoogle AI Studio

Tool Rendering

Custom per-tool renderers (WeatherCard, FlightListCard) plus a wildcard catch-all for every other tool

Google ADKGoogle AI Studio

Tool-Based Generative UI

Agent uses tools to trigger UI generation

Google ADKGoogle AI Studio

Agentic Generative UI

Canonical agent-state-driven Gen UI — the agent plans a live step list and emits it via state["steps"]; the frontend renders it via useAgent

Google ADKGoogle AI Studio

Shared State: Read-only

Recipe editor publishes form state via agent.setState; the agent reads the recipe context but does not mutate it (no backend tool — neutral default agent).

Google ADKGoogle AI Studio

Shared State: Read + Write

Bidirectional shared state — UI writes preferences via agent.setState; agent writes notes via a Command-returning tool

Google ADKGoogle AI Studio

State Streaming

Per-token state delta streaming from agent to UI via PredictStateMapping

Google ADKGoogle AI Studio

Sub-Agents

Multiple agents with visible task delegation

Google ADKGoogle AI Studio

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

Google ADKGoogle AI Studio

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

Google ADKGoogle AI Studio

Chat Customization (Slots)

Customize CopilotChat via its slot system

Google ADKGoogle AI Studio

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

Google ADKGoogle AI Studio

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

Google ADKGoogle AI Studio

Reasoning: Custom

Visible reasoning/thinking chain alongside the final answer (Gemini 2.5 thinking mode)

Google ADKGoogle AI Studio

Reasoning: Default

Built-in CopilotChatReasoningMessage rendering with no slot override.

Google ADKGoogle AI Studio

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; the runtime injects the render_a2ui tool automatically

Google ADKGoogle AI Studio

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

Google ADKGoogle AI Studio

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

Google ADKGoogle AI Studio

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

Google ADKGoogle AI Studio

Declarative UI: json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

Google ADKGoogle AI Studio

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

Google ADKGoogle AI Studio

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a Gemini multimodal agent

Google ADKGoogle AI Studio

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

Google ADKGoogle AI Studio

Declarative UI: Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

Google ADKGoogle AI Studio

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

Google ADKGoogle AI Studio

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

Google ADKGoogle AI Studio

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

Google ADKGoogle AI Studio

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

PydanticAI

CLI Start Command

Copy-paste command to clone the canonical starter

PydanticAI

Agentic Chat

Natural conversation with frontend tool execution

PydanticAI

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

PydanticAI

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

PydanticAI

Chat Customization (Slots)

Customize CopilotChat via its slot system

PydanticAI

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

PydanticAI

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

PydanticAI

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

PydanticAI

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

PydanticAI

In-Chat Human in the Loop

User approves agent actions before execution

PydanticAI

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

PydanticAI

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

PydanticAI

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

PydanticAI

Tool Rendering

Backend agent tools rendered as UI components

PydanticAI

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

PydanticAI

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

PydanticAI

Agentic Generative UI

Long-running agent tasks with generated UI

PydanticAI

Tool-Based Generative UI

Frontend-registered chart components rendered by agent tool calls

PydanticAI

State Streaming

Per-token state delta streaming from agent to UI

PydanticAI

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back

PydanticAI

Sub-Agents

Multiple agents with visible task delegation

PydanticAI

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

PydanticAI

Open Generative UI (Minimal)

Agent streams HTML/CSS into a sandboxed iframe via the runtime's openGenerativeUI middleware

PydanticAI

Open Generative UI (Advanced)

Sandboxed UI invokes host-registered sandbox functions via Websandbox.connection.remote

PydanticAI

Declarative Generative UI (A2UI Dynamic)

Agent generates dynamic A2UI surfaces from a frontend-registered component catalog

PydanticAI

A2UI — Fixed Schema

Backend-authored JSON schema + frontend catalog renderers; agent streams only data

PydanticAI

Headless Chat (Complete)

Full custom chat built from scratch on useAgent — no CopilotChat primitives

PydanticAI

Beautiful Chat

Flagship showcase combining A2UI (fixed + dynamic), Open Generative UI, shared todos state, and HITL in a single polished cell

PydanticAI

BYOC: json-render

BYOC (bring-your-own-components) demo rendering a streaming JSON spec via @json-render/react against a Zod-validated catalog

PydanticAI

BYOC: Hashbrown

BYOC demo using @hashbrownai/react's useJsonParser + useUiKit for progressive streaming-JSON UI rendering

PydanticAI

Multimodal Attachments

Image + PDF attachments via CopilotChat — images flow natively to GPT-4o vision; PDFs flatten to text via pypdf

PydanticAI

Voice Input

Audio transcription via OpenAI Whisper — mic + bundled sample round-trip populate the chat composer

PydanticAI

Agent Config Object

Forwarded provider properties (tone / expertise / responseLength) reshape the agent's system prompt per turn

PydanticAI

Authentication

Bearer-token gated runtime route via the V2 onRequest hook — sign out exercises the 401 path without white-screening

PydanticAI

Agentic Chat (Reasoning)

Reasoning chain rendered via a custom amber slot — backed by a gpt-5 reasoning model whose Responses-API reasoning items the AG-UI bridge translates to REASONING events

PydanticAI

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage card rendering REASONING events emitted by a gpt-5 reasoning agent — zero-config frontend

PydanticAI

Tool Rendering (Reasoning Chain)

Reasoning + sequential tool calls (get_weather, search_flights, get_stock_price, roll_dice) in a single cell — gpt-5 reasoning model emits REASONING events between each tool call

PydanticAI

MCP Apps

No-tools agent + runtime mcpApps middleware pointing at the public Excalidraw MCP server — the built-in MCPAppsActivityRenderer paints sandboxed iframes inline

PydanticAI

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

PydanticAI

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

Claude Agent SDK (Python)

CLI Start Command

Copy-paste command to clone the canonical starter

Claude Agent SDK (Python)

Agentic Chat

Natural conversation with frontend tool execution

Claude Agent SDK (Python)

Tool Rendering

Backend agent tools rendered as UI components

Claude Agent SDK (Python)

Agentic Generative UI

Long-running agent tasks with generated UI

Claude Agent SDK (Python)

State Streaming

Per-token state delta streaming from agent to UI

Claude Agent SDK (Python)

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back

Claude Agent SDK (Python)

Sub-Agents

Multiple agents with visible task delegation

Claude Agent SDK (Python)

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

Claude Agent SDK (Python)

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

Claude Agent SDK (Python)

Chat Customization (Slots)

Customize CopilotChat via its slot system

Claude Agent SDK (Python)

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

Claude Agent SDK (Python)

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

Claude Agent SDK (Python)

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

Claude Agent SDK (Python)

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

Claude Agent SDK (Python)

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

Claude Agent SDK (Python)

In-Chat Human in the Loop

User approves agent actions before execution

Claude Agent SDK (Python)

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

Claude Agent SDK (Python)

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

Claude Agent SDK (Python)

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

Claude Agent SDK (Python)

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

Claude Agent SDK (Python)

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

Claude Agent SDK (Python)

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

Claude Agent SDK (Python)

BYOC: json-render

Agent emits a JSON spec; `@json-render/react` renders it against a Zod catalog of MetricCard, BarChart, PieChart

Claude Agent SDK (Python)

BYOC: Hashbrown

Streaming structured output via `@hashbrownai/react` — agent emits a catalog-constrained JSON envelope that renders progressively

Claude Agent SDK (Python)

Multimodal Attachments

Image + PDF attachments routed through Claude's native vision + pypdf text flattening

Claude Agent SDK (Python)

Voice Input

Audio transcription wired on a per-demo runtime with a guarded OpenAI Whisper service that maps missing keys to 401

Claude Agent SDK (Python)

Agent Config Object

Forwarded props (tone / expertise / responseLength) flow from the provider into the agent's system prompt via `forwardedProps.config.configurable.properties`

Claude Agent SDK (Python)

Agentic Chat (Reasoning)

Visible reasoning / thinking chain rendered via a custom messageView slot

Claude Agent SDK (Python)

Reasoning (Default Render)

Reasoning rendered via CopilotKit's built-in collapsible card with zero custom config

Claude Agent SDK (Python)

Tool Rendering (Reasoning Chain)

Sequential tool calls combined with visible reasoning steps

Claude Agent SDK (Python)

Authentication

Framework-native request auth via the V2 runtime's `onRequest` hook; missing bearer token returns 401

Claude Agent SDK (Python)

MCP Apps

MCP server-driven UI via activity renderers — the agent calls a tool on a remote MCP server (Excalidraw) and the runtime middleware renders the returned UI resource as a sandboxed iframe inline in the chat

Claude Agent SDK (Python)

Beautiful Chat

Polished brand-themed chat surface over the Claude Agent SDK backend with seeded suggestion pills and a glanceable decorative side panel — pure frontend dressing, no extra runtime config

Claude Agent SDK (Python)

Tool-Based Generative UI

Agent uses tools to trigger UI generation (haiku generator via useFrontendTool + useRenderTool)

Claude Agent SDK (Python)

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

Claude Agent SDK (Python)

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

Claude Agent SDK (Python)

In-Chat HITL (useInterrupt — low-level primitive)

Interactive time-picker component rendered inline in the chat via useFrontendTool with an async handler — the Promise resolves only when the user picks a slot or cancels

Claude Agent SDK (Python)

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop; the time-picker popup appears in the app surface outside the chat

Claude Agent SDK (Python)

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton/PieChart/BarChart) wired via a2ui.catalog on the provider; backend agent owns the `generate_a2ui` tool with injectA2UITool false

Claude Agent SDK (Python)

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema; the backend ships flight_schema.json and only streams data via display_flight

Claude Agent SDK (TypeScript)

CLI Start Command

Copy-paste command to clone the canonical starter

Claude Agent SDK (TypeScript)

Agentic Chat

Natural conversation with frontend tool execution

Claude Agent SDK (TypeScript)

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

Claude Agent SDK (TypeScript)

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

Claude Agent SDK (TypeScript)

Chat Customization (Slots)

Customize CopilotChat via its slot system

Claude Agent SDK (TypeScript)

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

Claude Agent SDK (TypeScript)

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

Claude Agent SDK (TypeScript)

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

Claude Agent SDK (TypeScript)

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

Claude Agent SDK (TypeScript)

In-Chat Human in the Loop

User approves agent actions before execution

Claude Agent SDK (TypeScript)

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

Claude Agent SDK (TypeScript)

Tool Rendering

Backend agent tools rendered as UI components

Claude Agent SDK (TypeScript)

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically

Claude Agent SDK (TypeScript)

Agentic Generative UI

Long-running agent tasks with generated UI

Claude Agent SDK (TypeScript)

Tool-Based Generative UI

Agent uses frontend tools to trigger UI generation — useFrontendTool with a render function paints structured haiku output as a styled card alongside the chat

Claude Agent SDK (TypeScript)

State Streaming

Per-token state delta streaming from agent to UI

Claude Agent SDK (TypeScript)

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences via agent.setState, agent reads them every turn and writes notes back via a set_notes tool

Claude Agent SDK (TypeScript)

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents (each a single secondary Anthropic Messages call); every delegation appears in a live log via shared state

Claude Agent SDK (TypeScript)

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

Claude Agent SDK (TypeScript)

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

Claude Agent SDK (TypeScript)

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

Claude Agent SDK (TypeScript)

BYOC: json-render

Bring-your-own-catalog generative UI via @json-render/react

Claude Agent SDK (TypeScript)

BYOC: hashbrown

Bring-your-own-catalog streaming UI via @hashbrownai/react useJsonParser

Claude Agent SDK (TypeScript)

MCP Apps

MCP server-driven UI via activity renderers — runtime auto-applies the MCP Apps middleware and the built-in MCPAppsActivityRenderer paints sandboxed iframes inline in the chat

Claude Agent SDK (TypeScript)

Multimodal Attachments

Image and PDF attachments forwarded to Claude's vision-capable model

Claude Agent SDK (TypeScript)

Voice Input

Mic + sample audio transcription via a guarded OpenAI Whisper service

Claude Agent SDK (TypeScript)

Agent Config Object

forwardedProps route provider-configured tone/expertise/length into the Claude system prompt per turn

Claude Agent SDK (TypeScript)

Authentication

Bearer-token gate via the V2 runtime onRequest hook with typed 401 surface

Claude Agent SDK (TypeScript)

Tool Rendering: Default Catch-all

Zero-config wildcard renderer via useDefaultRenderTool — built-in tool-call card paints every tool

Claude Agent SDK (TypeScript)

Tool Rendering: Custom Catch-all

Single branded wildcard renderer registered via useDefaultRenderTool({ render })

Claude Agent SDK (TypeScript)

Agentic Chat (Reasoning)

Custom reasoningMessage slot renders Claude extended-thinking deltas as AG-UI REASONING_MESSAGE_* events

Claude Agent SDK (TypeScript)

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage card paints Claude extended-thinking output — zero custom slots

Claude Agent SDK (TypeScript)

Tool Rendering: Reasoning Chain

Reasoning slot + per-tool renderers + wildcard catch-all in one cell

Claude Agent SDK (TypeScript)

Beautiful Chat

Polished brand-themed chat surface over the shared Claude SDK agent with seeded suggestion pills

Claude Agent SDK (TypeScript)

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

Claude Agent SDK (TypeScript)

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

Claude Agent SDK (TypeScript)

In-Chat HITL (useInterrupt — low-level primitive)

Interactive time-picker component rendered inline in the chat via useFrontendTool with an async handler — the Promise resolves only when the user picks a slot or cancels

Claude Agent SDK (TypeScript)

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop; the time-picker popup appears in the app surface outside the chat

Claude Agent SDK (TypeScript)

Headless Chat (Complete)

Full custom chat surface built on `useAgent` — exercises the full rendering stack (text, per-tool renderers, frontend components) with backend get_weather / get_stock_price tools and a frontend highlight_note tool

Claude Agent SDK (TypeScript)

A2UI (Fixed Schema)

Fixed-schema A2UI — backend display_flight tool emits an a2ui_operations container that ships a JSON component tree plus per-call data; frontend catalog binds component names to React renderers

Enterprise

MS Agent Framework (Python)

CLI Start Command

Copy-paste command to clone the canonical starter

MS Agent Framework (Python)

Agentic Chat

Natural conversation with frontend tool execution

MS Agent Framework (Python)

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

MS Agent Framework (Python)

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

MS Agent Framework (Python)

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

MS Agent Framework (Python)

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

MS Agent Framework (Python)

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

MS Agent Framework (Python)

In-Chat Human in the Loop

User approves agent actions before execution

MS Agent Framework (Python)

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

MS Agent Framework (Python)

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

MS Agent Framework (Python)

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

MS Agent Framework (Python)

Tool-Based Generative UI

Agent uses tools to trigger UI generation

MS Agent Framework (Python)

Tool Rendering

Backend agent tools rendered as UI components

MS Agent Framework (Python)

Agentic Generative UI

Long-running agent tasks with generated UI

MS Agent Framework (Python)

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back via state_update

MS Agent Framework (Python)

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents with a live delegation log

MS Agent Framework (Python)

State Streaming

Per-token state delta streaming from agent to UI

MS Agent Framework (Python)

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

MS Agent Framework (Python)

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

MS Agent Framework (Python)

Chat Customization (Slots)

Customize CopilotChat via its slot system

MS Agent Framework (Python)

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

MS Agent Framework (Python)

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

MS Agent Framework (Python)

Reasoning

Visible reasoning/thinking chain alongside the final answer

MS Agent Framework (Python)

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

MS Agent Framework (Python)

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically

MS Agent Framework (Python)

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

MS Agent Framework (Python)

MCP Apps

MCP server-driven UI via activity renderers

MS Agent Framework (Python)

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

MS Agent Framework (Python)

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

MS Agent Framework (Python)

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

MS Agent Framework (Python)

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

MS Agent Framework (Python)

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

MS Agent Framework (Python)

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

MS Agent Framework (Python)

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

MS Agent Framework (Python)

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

MS Agent Framework (Python)

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

MS Agent Framework (Python)

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

MS Agent Framework (Python)

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

MS Agent Framework (Python)

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

MS Agent Framework (Python)

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

MS Agent Framework (.NET)

CLI Start Command

Copy-paste command to clone the canonical starter

MS Agent Framework (.NET)

Agentic Chat

Natural conversation with frontend tool execution

MS Agent Framework (.NET)

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

MS Agent Framework (.NET)

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

MS Agent Framework (.NET)

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

MS Agent Framework (.NET)

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

MS Agent Framework (.NET)

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

MS Agent Framework (.NET)

In-Chat Human in the Loop (Original)

User approves agent actions before execution

MS Agent Framework (.NET)

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

MS Agent Framework (.NET)

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

MS Agent Framework (.NET)

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

MS Agent Framework (.NET)

Tool-Based Generative UI

Agent uses tools to trigger UI generation

MS Agent Framework (.NET)

Tool Rendering

Backend agent tools rendered as UI components

MS Agent Framework (.NET)

Agentic Generative UI

Long-running agent tasks with generated UI

MS Agent Framework (.NET)

State Streaming

Per-token state delta streaming from agent to UI

MS Agent Framework (.NET)

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back via a set_notes tool

MS Agent Framework (.NET)

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents with a live delegation log

MS Agent Framework (.NET)

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

MS Agent Framework (.NET)

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

MS Agent Framework (.NET)

Chat Customization (Slots)

Customize CopilotChat via its slot system

MS Agent Framework (.NET)

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

MS Agent Framework (.NET)

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

MS Agent Framework (.NET)

Reasoning

Visible reasoning/thinking chain alongside the final answer

MS Agent Framework (.NET)

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

MS Agent Framework (.NET)

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically

MS Agent Framework (.NET)

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

MS Agent Framework (.NET)

MCP Apps

MCP server-driven UI via activity renderers

MS Agent Framework (.NET)

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

MS Agent Framework (.NET)

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

MS Agent Framework (.NET)

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

MS Agent Framework (.NET)

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

MS Agent Framework (.NET)

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

MS Agent Framework (.NET)

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

MS Agent Framework (.NET)

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

MS Agent Framework (.NET)

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

MS Agent Framework (.NET)

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

MS Agent Framework (.NET)

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

MS Agent Framework (.NET)

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

MS Agent Framework (.NET)

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

MS Agent Framework (.NET)

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

Spring AI

Agentic Chat

Natural conversation with frontend tool execution

Spring AI

Chat Customization (CSS)

Default CopilotChat re-themed via scoped CSS overrides

Spring AI

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

Spring AI

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation and uses the returned result

Spring AI

Agentic Generative UI

Long-running agent tasks with generated UI

Spring AI

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

Spring AI

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

Spring AI

Chat Customization (Slots)

Customize CopilotChat via its slot system

Spring AI

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

Spring AI

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

Spring AI

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

Spring AI

Open Generative UI (Minimal)

Agent streams HTML + CSS into a sandboxed iframe via the built-in OpenGenerativeUIActivityRenderer

Spring AI

Open Generative UI (Advanced)

Sandboxed UI can call host-side functions (evaluateExpression, notifyHost) via the provider's sandboxFunctions registration

Spring AI

Voice

CopilotChat mic button via a runtime mounted with TranscriptionServiceOpenAI; transcribed text is forwarded to the Spring AI backend

Spring AI

Agent Config Object

Frontend forwards typed config (tone, expertise, responseLength) to Spring, which rebuilds the system prompt per request

Spring AI

A2UI Fixed Schema

Dedicated Spring tool emits a fixed flight-card component tree plus a data model; frontend catalog renders each component

Spring AI

Headless Chat (Complete)

Full chat built from scratch on useAgent plus low-level render hooks (useRenderToolCall, useRenderActivityMessage, useRenderCustomMessages)

Spring AI

Beautiful Chat

Polished brand-themed chat surface over the Spring AI agent with seeded suggestion pills

Spring AI

Agentic Chat (Reasoning)

Custom reasoningMessage slot renders the agent's thinking chain as a tagged amber banner (renders when the adapter emits REASONING_MESSAGE_* events)

Spring AI

Reasoning (Default Render)

Zero-config reasoning — CopilotChatReasoningMessage renders the built-in collapsible card when REASONING_MESSAGE_* events are emitted

Spring AI

Tool Rendering (Reasoning Chain)

Per-tool renderers (WeatherCard, FlightListCard) plus custom reasoningMessage slot composed in a single chat

Spring AI

Declarative Generative UI

A2UI dynamic-schema against a branded catalog; backend owns the `generate_a2ui` tool

Spring AI

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences into agent state; the agent's set_notes tool mutates state.notes and emits a STATE_SNAPSHOT back to the UI

Spring AI

Shared State Streaming

Per-token state streaming — the agent's write_document tool streams content into state.document via STATE_SNAPSHOT events; the frontend renders the growing document live

Spring AI

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents (each its own ChatClient call). Every delegation appends a Delegation entry to state.delegations and emits a STATE_SNAPSHOT for a live UI log

Spring AI

Multimodal Attachments

CopilotChat AttachmentsConfig for images + PDFs; sample files inject through the same pipeline as the paperclip upload

Spring AI

In-Chat Human in the Loop

User approves agent actions before execution via text input inside the chat

Spring AI

In-App Human in the Loop

Agent requests approval via useFrontendTool; the approval UI pops up as an app-level modal OUTSIDE the chat

Spring AI

Human in the Loop (Steps)

Multi-step HITL flow where the agent pauses for user confirmation at each step

Spring AI

Tool Rendering

Backend agent tools rendered as UI components

Spring AI

CLI Start Command

Copy-paste command to clone the canonical Spring AI starter

Spring AI

Tool-Based Generative UI

Frontend registers per-tool component renderers via useComponent; the Spring agent calls render tools that paint chart components inline in the chat

Spring AI

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — the Spring backend defines tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

Spring AI

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every Spring tool call

Spring AI

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow against the Spring AI agent

Spring AI

MCP Apps

MCP server-driven UI via the runtime mcpApps middleware; sandboxed iframe rendered via the built-in MCPAppsActivityRenderer

Spring AI

BYOC Hashbrown

Streaming hashbrown UI kit (MetricCard + PieChart + BarChart + DealCard) rendered by @hashbrownai/react against the Spring AI ChatClient stream

Spring AI

Generative UI (Interrupt)

Time-picker card rendered inline via useFrontendTool with an async handler that blocks until the user picks a slot — Strategy B adaptation of LangGraph's interrupt() primitive

Spring AI

Headless Interrupt

Time-picker popup rendered in the app surface (outside the chat) via useFrontendTool with an async handler — headless variant of the interrupt-adapted pattern

Spring AI

BYOC JSON Render

Zero-tool agent emits a flat-spec JSON object rendered by @json-render/react against a Zod-validated catalog of MetricCard, BarChart, and PieChart components

Emerging

LangGraph (FastAPI)LangGraph Platform

CLI Start Command

Copy-paste command to clone the canonical starter

LangGraph (FastAPI)LangGraph Platform

Agentic Chat

Natural conversation with frontend tool execution

LangGraph (FastAPI)LangGraph Platform

Tool Rendering

Backend agent tools rendered as UI components

LangGraph (FastAPI)LangGraph Platform

In-Chat Human in the Loop (Original)

User approves agent actions before execution

LangGraph (FastAPI)LangGraph Platform

Agentic Generative UI

Long-running agent tasks with generated UI

LangGraph (FastAPI)LangGraph Platform

Tool-Based Generative UI

Agent uses tools to trigger UI generation

LangGraph (FastAPI)LangGraph Platform

State Streaming

Per-token state delta streaming from agent to UI

LangGraph (FastAPI)LangGraph Platform

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences, agent writes notes

LangGraph (FastAPI)LangGraph Platform

Sub-Agents

Multiple agents with visible task delegation

LangGraph (FastAPI)LangGraph Platform

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

LangGraph (FastAPI)LangGraph Platform

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

LangGraph (FastAPI)LangGraph Platform

Chat Customization (Slots)

Customize CopilotChat via its slot system

LangGraph (FastAPI)LangGraph Platform

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

LangGraph (FastAPI)LangGraph Platform

Beautiful Chat

Canonical polished starter chat — brand fonts, theme tokens, suggestion pills

LangGraph (FastAPI)LangGraph Platform

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

LangGraph (FastAPI)LangGraph Platform

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

LangGraph (FastAPI)LangGraph Platform

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

LangGraph (FastAPI)LangGraph Platform

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

LangGraph (FastAPI)LangGraph Platform

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

LangGraph (FastAPI)LangGraph Platform

Reasoning

Visible reasoning/thinking chain alongside the final answer

LangGraph (FastAPI)LangGraph Platform

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

LangGraph (FastAPI)LangGraph Platform

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

LangGraph (FastAPI)LangGraph Platform

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

LangGraph (FastAPI)LangGraph Platform

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

LangGraph (FastAPI)LangGraph Platform

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the LangGraph interrupt lifecycle

LangGraph (FastAPI)LangGraph Platform

Headless Interrupt (testing)

Resolve langgraph interrupts from a plain button grid — no chat, no useInterrupt render prop

LangGraph (FastAPI)LangGraph Platform

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically

LangGraph (FastAPI)LangGraph Platform

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

LangGraph (FastAPI)LangGraph Platform

MCP Apps

MCP server-driven UI via activity renderers

LangGraph (FastAPI)LangGraph Platform

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

LangGraph (FastAPI)LangGraph Platform

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

LangGraph (FastAPI)LangGraph Platform

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat, and a completion callback resolves the pending tool Promise with the user's decision

LangGraph (FastAPI)LangGraph Platform

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

LangGraph (FastAPI)LangGraph Platform

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

LangGraph (FastAPI)LangGraph Platform

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

LangGraph (FastAPI)LangGraph Platform

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

LangGraph (FastAPI)LangGraph Platform

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

LangGraph (FastAPI)LangGraph Platform

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

LangGraph (FastAPI)LangGraph Platform

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library

LangGraph (FastAPI)LangGraph Platform

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

AgnoAgent OS

CLI Start Command

Copy-paste command to clone the canonical starter

AgnoAgent OS

Agentic Chat

Natural conversation with frontend tool execution

AgnoAgent OS

Tool Rendering

Backend agent tools rendered as UI components

AgnoAgent OS

Agentic Generative UI

Long-running agent tasks with generated UI

AgnoAgent OS

State Streaming

Per-token state delta streaming from agent to UI

AgnoAgent OS

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back

AgnoAgent OS

Sub-Agents

Multiple agents with visible task delegation

AgnoAgent OS

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

AgnoAgent OS

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

AgnoAgent OS

Chat Customization (Slots)

Customize CopilotChat via its slot system

AgnoAgent OS

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKit CSS variables

AgnoAgent OS

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

AgnoAgent OS

In-Chat Human in the Loop

User approves agent actions before execution

AgnoAgent OS

In-Chat Human in the Loop (Time Picker)

Agent proposes a meeting time; user confirms or adjusts via an in-chat card before the agent proceeds

AgnoAgent OS

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat

AgnoAgent OS

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

AgnoAgent OS

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

AgnoAgent OS

Tool Rendering (Default Catch-all)

Out-of-the-box default tool-call card via useDefaultRenderTool()

AgnoAgent OS

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool

AgnoAgent OS

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side notes-DB query and uses the returned result

AgnoAgent OS

Agentic Chat (Reasoning)

Visible reasoning chain via a custom ReasoningBlock slot — Agno reasoning agent emits AG-UI REASONING_MESSAGE_* events

AgnoAgent OS

Reasoning (Default Render)

Zero-config reasoning rendering — CopilotKit's built-in CopilotChatReasoningMessage handles the AGUI reasoning events

AgnoAgent OS

Tool Rendering (Reasoning Chain)

Reasoning card + sequential tool-call renderers (per-tool + catch-all) on the same reasoning-enabled Agno agent

AgnoAgent OS

Headless Chat (Complete)

Full chat built from scratch on useAgent — custom bubbles, input bar, and manual generative-UI composition via useRenderToolCall

AgnoAgent OS

Gen UI Interrupt (Frontend Tool + async Promise)

In-chat time-picker card via useFrontendTool with an async handler that blocks until the user picks a slot — Agno adaptation of the LangGraph interrupt() primitive

AgnoAgent OS

Headless Interrupt (Frontend Tool + async Promise)

Time-picker popup rendered outside the chat in the app surface via useFrontendTool with an async handler — Agno adaptation of the LangGraph headless interrupt pattern

AgnoAgent OS

Authentication

Bearer-token gate via the V2 runtime onRequest hook — dedicated /api/copilotkit-auth route rejects unauthenticated requests

AgnoAgent OS

Tool-Based Generative UI

Agent uses tools to trigger UI generation — frontend renders a haiku card from a generate_haiku tool call

AgnoAgent OS

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow — same surface as hitl-in-chat, branded for the booking scenario

AgnoAgent OS

MCP Apps

MCP-provided tools rendered inline as sandboxed UI via the runtime's mcpApps middleware

AgnoAgent OS

Open Generative UI

Agent-authored HTML + CSS streamed into a sandboxed iframe via the runtime's openGenerativeUI middleware

AgnoAgent OS

Open Generative UI (Advanced)

Sandboxed iframe with host-side sandbox functions the agent's UI can call back into via Websandbox.connection.remote

AgnoAgent OS

Agent Config Object

Frontend forwards a typed config object (tone, expertise, response length) the Agno agent reads per turn to compose its system prompt

AgnoAgent OS

Voice Input

Microphone + sample-audio button → /transcribe endpoint → text injected into the chat composer

AgnoAgent OS

Multimodal Attachments

Image + PDF attachments forwarded to a vision-capable Agno agent via CopilotChat's attachments config

AgnoAgent OS

BYOC: Hashbrown

Streaming structured output rendered progressively via @hashbrownai/react useUiKit + useJsonParser

AgnoAgent OS

BYOC: JSON Render

Agent emits a json-render spec; the page renders it against a Zod-validated catalog (MetricCard, BarChart, PieChart)

AgnoAgent OS

Beautiful Chat

Polished landing-style chat shell over the shared Agno agent — gradient background, suggestion pills, and an example dashboard surface

AgnoAgent OS

Declarative Generative UI (A2UI Dynamic)

Agent dynamically composes UI per turn from a registered frontend catalog — secondary LLM call inside the backend `generate_a2ui` tool emits an a2ui_operations container that the A2UI middleware forwards to the catalog renderer

AgnoAgent OS

A2UI Fixed Schema

Schema is authored ahead of time as JSON; the agent only streams data into the data model. `display_flight` emits an a2ui_operations container directly with no secondary LLM call

AG2Agent OS

CLI Start Command

Copy-paste command to clone the canonical starter

AG2Agent OS

Agentic Chat

Natural conversation with frontend tool execution

AG2Agent OS

In-Chat HITL (useHumanInTheLoop)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

AG2Agent OS

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow — same surface as hitl-in-chat with a booking-focused framing

AG2Agent OS

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat

AG2Agent OS

In-Chat Human in the Loop (Original)

User approves agent actions before execution

AG2Agent OS

Tool Rendering

Backend agent tools rendered as UI components

AG2Agent OS

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

AG2Agent OS

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

AG2Agent OS

Agentic Generative UI

Long-running agent tasks with generated UI

AG2Agent OS

Tool-Based Generative UI

Agent uses tools to trigger UI generation

AG2Agent OS

State Streaming

Per-token state delta streaming from agent to UI

AG2Agent OS

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

AG2Agent OS

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

AG2Agent OS

Chat Customization (Slots)

Customize CopilotChat via its slot system

AG2Agent OS

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

AG2Agent OS

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

AG2Agent OS

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

AG2Agent OS

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

AG2Agent OS

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

AG2Agent OS

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

AG2Agent OS

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation and uses the returned result

AG2Agent OS

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back via AG2 ContextVariables

AG2Agent OS

Sub-Agents

Supervisor delegates tasks to research, writing, and critique sub-agents with a live delegation log

AG2Agent OS

Gen UI Interrupt (Frontend Tool + async Promise)

In-chat time-picker card via useFrontendTool with an async handler that blocks until the user picks a slot — AG2 adaptation of the LangGraph interrupt() primitive

AG2Agent OS

Headless Interrupt (Frontend Tool + async Promise)

Time-picker popup rendered outside the chat in the app surface via useFrontendTool with an async handler — AG2 adaptation of the LangGraph headless interrupt pattern

AG2Agent OS

Declarative Generative UI (A2UI Dynamic Schema)

Agent dynamically composes UI from a registered catalog of branded components via the A2UI middleware

AG2Agent OS

A2UI (Fixed Schema)

Agent streams data into a frontend-authored fixed component schema; backend ships JSON, agent fills in values

AG2Agent OS

MCP Apps

Runtime mcpApps middleware injects an MCP server's tools and renders associated UI resources inline

AG2Agent OS

Open Generative UI (Minimal)

Agent streams a single generateSandboxedUi tool call; the runtime renders agent-authored HTML/CSS in a sandboxed iframe

AG2Agent OS

Open Generative UI (Advanced)

Sandboxed iframe UIs invoke host-page sandbox functions via Websandbox.connection.remote

AG2Agent OS

Agentic Chat (Reasoning)

Custom reasoningMessage slot renders the agent's thinking chain visibly above each answer

AG2Agent OS

Tool Rendering (Reasoning Chain)

Sequential tool calls combined with a custom reasoningMessage slot — weather, flights, custom catch-all

AG2Agent OS

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

AG2Agent OS

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt

AG2Agent OS

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

AG2Agent OS

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent

AG2Agent OS

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

AG2Agent OS

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

AG2Agent OS

Beautiful Chat

Simplified flagship cell that combines A2UI Dynamic + Open Generative UI on a single dedicated runtime — agent picks branded catalog components for structured visuals and free-form sandboxed UI for everything else

LlamaIndex

CLI Start Command

Copy-paste command to clone the canonical starter

LlamaIndex

Beautiful Chat

Polished starter chat with brand-styled CopilotChat surface

LlamaIndex

Tool-Based Generative UI

Agent uses tools to trigger UI generation (bar / pie chart components)

LlamaIndex

MCP Apps

MCP server-driven UI via activity renderers

LlamaIndex

Agentic Chat

Natural conversation with frontend tool execution

LlamaIndex

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

LlamaIndex

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a simulated client-side notes DB query and uses the returned result

LlamaIndex

In-Chat HITL (useHumanInTheLoop)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

LlamaIndex

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

LlamaIndex

In-App Human in the Loop (Frontend Tools + async HITL)

Agent requests approval via useFrontendTool with an async handler; the approval UI pops up as an app-level modal OUTSIDE the chat

LlamaIndex

In-Chat Human in the Loop (Original)

User approves agent actions before execution

LlamaIndex

Tool Rendering

Backend agent tools rendered as UI components

LlamaIndex

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines tools; frontend adds zero custom renderers and uses CopilotKit's built-in default UI

LlamaIndex

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

LlamaIndex

Agentic Generative UI

Long-running agent tasks with generated UI

LlamaIndex

State Streaming

Per-token state delta streaming from agent to UI

LlamaIndex

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences via agent.setState; agent writes notes via the set_notes tool. Backend reads preferences from state every turn through LlamaIndex's <state> prelude

LlamaIndex

Sub-Agents

Supervisor delegates to research / writing / critique sub-agents (each a stand-alone LlamaIndex FunctionAgent). Every delegation appends to a live log in shared agent state

LlamaIndex

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

LlamaIndex

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

LlamaIndex

Chat Customization (Slots)

Customize CopilotChat via its slot system

LlamaIndex

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

LlamaIndex

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

LlamaIndex

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

LlamaIndex

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

LlamaIndex

Reasoning

Visible reasoning/thinking chain alongside the final answer via a custom reasoningMessage slot

LlamaIndex

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

LlamaIndex

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side

LlamaIndex

Declarative Generative UI (A2UI)

Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton/PieChart/BarChart) wired via a2ui.catalog on the provider; agent owns the generate_a2ui tool

LlamaIndex

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema; the agent streams flight data into a pre-authored component tree

LlamaIndex

BYOC json-render

Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)

LlamaIndex

BYOC Hashbrown

Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)

LlamaIndex

Authentication

Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states

LlamaIndex

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

LlamaIndex

Agent Config Object

Forward a typed config object (tone / expertise / response length) from the provider to the agent

LlamaIndex

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent (gpt-4o)

LlamaIndex

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library inside a sandboxed iframe

LlamaIndex

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

LlamaIndex

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

LlamaIndex

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

AWS StrandsAWS Bedrock AgentCore

CLI Start Command

Copy-paste command to clone the canonical starter

AWS StrandsAWS Bedrock AgentCore

Agentic Chat

Natural conversation with frontend tool execution

AWS StrandsAWS Bedrock AgentCore

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

AWS StrandsAWS Bedrock AgentCore

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

AWS StrandsAWS Bedrock AgentCore

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

AWS StrandsAWS Bedrock AgentCore

Chat Customization (Slots)

Customize CopilotChat via its slot system

AWS StrandsAWS Bedrock AgentCore

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

AWS StrandsAWS Bedrock AgentCore

Headless Chat (Complete)

Full chat implementation built from scratch on useAgent

AWS StrandsAWS Bedrock AgentCore

Reasoning

Visible reasoning/thinking chain alongside the final answer

AWS StrandsAWS Bedrock AgentCore

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot

AWS StrandsAWS Bedrock AgentCore

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

AWS StrandsAWS Bedrock AgentCore

Frontend Tools (Async)

useFrontendTool with an async handler

AWS StrandsAWS Bedrock AgentCore

In-Chat HITL (useHumanInTheLoop)

Inline approval/decision surface via the ergonomic useHumanInTheLoop hook

AWS StrandsAWS Bedrock AgentCore

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

AWS StrandsAWS Bedrock AgentCore

In-App Human in the Loop

Agent requests approval via async useFrontendTool; UI pops as an app-level modal

AWS StrandsAWS Bedrock AgentCore

In-Chat HITL (Steps)

Agent pauses for user approval via step-based human-in-the-loop

AWS StrandsAWS Bedrock AgentCore

Tool Rendering

Custom render for tool calls inline in the chat stream

AWS StrandsAWS Bedrock AgentCore

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

AWS StrandsAWS Bedrock AgentCore

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

AWS StrandsAWS Bedrock AgentCore

Tool Rendering + Reasoning Chain

Sequential tool calls with reasoning tokens rendered side-by-side

AWS StrandsAWS Bedrock AgentCore

Agentic Generative UI

Long-running agent tasks with generated UI

AWS StrandsAWS Bedrock AgentCore

Tool-Based Generative UI

Agent uses tools to trigger UI generation

AWS StrandsAWS Bedrock AgentCore

Declarative Generative UI (A2UI)

Dynamic A2UI BYOC via a custom catalog

AWS StrandsAWS Bedrock AgentCore

Declarative Generative UI (A2UI — Fixed Schema)

A2UI rendering against a known client-side schema

AWS StrandsAWS Bedrock AgentCore

Shared State (Read + Write)

Bidirectional agent state — UI writes preferences, agent writes notes back

AWS StrandsAWS Bedrock AgentCore

Sub-Agents

Multiple agents with visible task delegation

AWS StrandsAWS Bedrock AgentCore

State Streaming

Per-token state delta streaming from agent to UI

AWS StrandsAWS Bedrock AgentCore

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

AWS StrandsAWS Bedrock AgentCore

Multimodal Attachments

Image and PDF uploads via CopilotChat attachments

AWS StrandsAWS Bedrock AgentCore

Voice Input

Speech-to-text via @copilotkit/voice with a bundled sample audio button

AWS StrandsAWS Bedrock AgentCore

Authentication

Bearer-token gate via runtime onRequest hook

AWS StrandsAWS Bedrock AgentCore

Agent Config Object

Forward a typed config object (tone / expertise / response length) from provider to agent

AWS StrandsAWS Bedrock AgentCore

BYOC: Hashbrown

Streaming structured output rendered via @hashbrownai/react's useUiKit + useJsonParser

AWS StrandsAWS Bedrock AgentCore

BYOC: json-render

JSON spec rendered via @json-render/react against a Zod catalog

AWS StrandsAWS Bedrock AgentCore

Open Generative UI (Minimal)

Agent-authored HTML/CSS/SVG in a sandboxed iframe, minimal variant

AWS StrandsAWS Bedrock AgentCore

Open Generative UI (Advanced)

Sandboxed iframe that invokes host-registered sandbox functions via Websandbox.connection.remote

AWS StrandsAWS Bedrock AgentCore

MCP Apps

MCP server-driven UI via activity renderers

AWS StrandsAWS Bedrock AgentCore

Beautiful Chat

Polished landing-style chat surface with brand theming and suggestion pills

AWS StrandsAWS Bedrock AgentCore

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

AWS StrandsAWS Bedrock AgentCore

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

Langroid

CLI Start Command

Copy-paste command to clone the canonical starter

Langroid

Agentic Chat

Natural conversation with frontend tool execution

Langroid

In-Chat Human in the Loop

User approves agent actions before execution

Langroid

In-Chat HITL (useHumanInTheLoop — ergonomic API)

Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook

Langroid

In-Chat HITL (Booking)

Time-picker card rendered inline via useHumanInTheLoop for a booking flow

Langroid

In-App Human in the Loop

Agent requests approval via async useFrontendTool; UI pops as an app-level modal

Langroid

Tool Rendering

Custom render for tool calls inline in the chat stream

Langroid

Tool-Based Generative UI

Agent uses tools to trigger UI generation

Langroid

Agentic Generative UI

Long-running agent tasks with generated UI

Langroid

State Streaming

Per-token state delta streaming from agent to UI

Langroid

Shared State (Read + Write)

Bidirectional shared state — UI writes preferences via agent.setState, agent writes notes via the set_notes tool

Langroid

Sub-Agents

Supervisor LLM delegates to research / writing / critique sub-agents; live delegation log streams running -> completed transitions

Langroid

Chat Customization (CSS)

Default CopilotChat re-themed via CopilotKitCSSProperties

Langroid

Pre-Built: Sidebar

Docked sidebar chat via <CopilotSidebar />

Langroid

Pre-Built: Popup

Floating popup chat via <CopilotPopup />

Langroid

Chat Customization (Slots)

Customize CopilotChat via its slot system (welcomeScreen, disclaimer, assistantMessage)

Langroid

Headless Chat (Simple)

Minimal custom chat surface built on useAgent

Langroid

Frontend Tools (In-App Actions)

Agent invokes client-side handlers registered with useFrontendTool

Langroid

Frontend Tools (Async)

useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result

Langroid

Reasoning

Custom reasoning slot render (placeholder until Langroid exposes reasoning events)

Langroid

Reasoning (Default Render)

Built-in CopilotChatReasoningMessage renders without a custom slot (placeholder until Langroid exposes reasoning events)

Langroid

Readonly State (Agent Context)

Frontend provides read-only context to the agent via useAgentContext

Langroid

Declarative Generative UI

A2UI dynamic-schema rendering — agent emits operations against a client-declared catalog

Langroid

Authentication

Bearer-token gate via the V2 runtime's onRequest hook; unauth requests are rejected with 401

Langroid

Headless Chat (Complete)

A full chat surface built from scratch on useAgent — no CopilotChat, hand-rolled message list + bubbles

Langroid

Agent Config Object

Typed config forwarded via CopilotKit provider properties; the agent reads tone/expertise/responseLength per turn

Langroid

Tool Rendering (Default Catch-all)

Out-of-the-box tool rendering — backend defines the tools; the frontend adds zero custom renderers and relies on CopilotKit's built-in default UI

Langroid

Tool Rendering (Custom Catch-all)

Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call

Langroid

Tool Rendering + Reasoning Chain (testing)

Sequential tool calls with reasoning tokens rendered side-by-side. NOTE — Langroid does not yet emit native reasoning AG-UI events; the slot wires up only when reasoning content arrives over the wire

Langroid

Fully Open-Ended Generative UI

Agent generates UI from an arbitrary component library via the runtime's openGenerativeUI middleware

Langroid

Open-Ended Gen UI (Advanced: with frontend function calling)

Agent-authored UI that can invoke frontend sandbox functions from inside the iframe

Langroid

Voice Input

Speech-to-text via @copilotkit/voice — mic button or sample audio populates the chat composer

Langroid

Multimodal Attachments

Image + PDF uploads forwarded to a vision-capable agent (gpt-4o); PDFs are flattened to text server-side

Langroid

BYOC: Hashbrown

Frontend BYOC via @hashbrownai/react — agent emits a JSON envelope that streams progressively into a sales dashboard

Langroid

BYOC: json-render

Frontend BYOC via @json-render/react — agent emits a flat element-map spec rendered against a Zod-validated catalog

Langroid

MCP Apps

MCP servers with UI resources rendered inline as sandboxed iframes via the runtime's mcpApps middleware

Langroid

Beautiful Chat

Polished landing-style chat shell over the shared Langroid agent — gradient background, suggestion pills, and an example dashboard surface

Langroid

A2UI (Fixed Schema)

Agent streams data into a frontend-authored fixed component schema; backend ships JSON, agent fills in values

Langroid

In-Chat HITL (useInterrupt — low-level primitive)

Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle

Langroid

Headless Interrupt (testing)

Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop

b5d59e72a
CopilotKit Showcase