Emerging
CopilotKit integration with LangGraph (FastAPI)
Copy-paste command to clone the canonical starter
npx copilotkit@latest init --framework langgraph-fastapi
Natural conversation with frontend tool execution
Backend agent tools rendered as UI components
User approves agent actions before execution
Long-running agent tasks with generated UI
Agent uses tools to trigger UI generation
Per-token state delta streaming from agent to UI
Bidirectional shared state — UI writes preferences, agent writes notes
Multiple agents with visible task delegation
Docked sidebar chat via <CopilotSidebar />
Floating popup chat via <CopilotPopup />
Customize CopilotChat via its slot system
Default CopilotChat re-themed via CopilotKitCSSProperties
Canonical polished starter chat — brand fonts, theme tokens, suggestion pills
Minimal custom chat surface built on useAgent
Full chat implementation built from scratch on useAgent
Bearer-token gate via runtime onRequest hook with unauthenticated / authenticated states
Image and PDF uploads via CopilotChat attachments, processed by a vision-capable agent
Forward a typed config object (tone / expertise / response length) from the provider to the agent's dynamic system prompt
Visible reasoning/thinking chain alongside the final answer
Built-in CopilotChatReasoningMessage renders without a custom slot
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
Single branded wildcard renderer via useDefaultRenderTool — the same app-designed card paints every tool call
Sequential tool calls with reasoning tokens rendered side-by-side
Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the LangGraph interrupt lifecycle
Resolve langgraph interrupts from a plain button grid — no chat, no useInterrupt render prop
Canonical A2UI BYOC — custom catalog (Card/StatusBadge/Metric/InfoRow/PrimaryButton) wired via a2ui.catalog on the provider; runtime injects the render_a2ui tool automatically
A2UI rendering against a known client-side schema
MCP server-driven UI via activity renderers
Agent invokes client-side handlers registered with useFrontendTool
useFrontendTool with an async handler — agent awaits a client-side async operation (simulated notes DB query) and uses the returned result
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
Interactive approval/decision surface rendered inline in the chat via the high-level `useHumanInTheLoop` hook
Time-picker card rendered inline via useHumanInTheLoop for a booking flow
Frontend provides read-only context to the agent via useAgentContext
Speech-to-text via @copilotkit/voice with a bundled sample audio button
Streaming structured output via @hashbrownai/react, rendering a sales dashboard catalog (MetricCard + PieChart + BarChart)
Streaming hierarchical JSON UI spec rendered via @json-render/react, with a Zod-validated catalog (MetricCard + PieChart + BarChart)
Agent generates UI from an arbitrary component library
Agent-authored UI that can invoke frontend sandbox functions from inside the iframe