Emerging
CopilotKit integration with AWS Strands
Copy-paste command to clone the canonical starter
npx copilotkit@latest init --framework strands
Natural conversation with frontend tool execution
Default CopilotChat re-themed via CopilotKitCSSProperties
Docked sidebar chat via <CopilotSidebar />
Floating popup chat via <CopilotPopup />
Customize CopilotChat via its slot system
Minimal custom chat surface built on useAgent
Full chat implementation built from scratch on useAgent
Visible reasoning/thinking chain alongside the final answer
Built-in CopilotChatReasoningMessage renders without a custom slot
Agent invokes client-side handlers registered with useFrontendTool
useFrontendTool with an async handler
Inline approval/decision surface via the ergonomic useHumanInTheLoop hook
Time-picker card rendered inline via useHumanInTheLoop for a booking flow
Agent requests approval via async useFrontendTool; UI pops as an app-level modal
Agent pauses for user approval via step-based human-in-the-loop
Custom render for tool calls inline in the chat stream
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
Long-running agent tasks with generated UI
Agent uses tools to trigger UI generation
Dynamic A2UI BYOC via a custom catalog
A2UI rendering against a known client-side schema
Bidirectional agent state — UI writes preferences, agent writes notes back
Multiple agents with visible task delegation
Per-token state delta streaming from agent to UI
Frontend provides read-only context to the agent via useAgentContext
Image and PDF uploads via CopilotChat attachments
Speech-to-text via @copilotkit/voice with a bundled sample audio button
Bearer-token gate via runtime onRequest hook
Forward a typed config object (tone / expertise / response length) from provider to agent
Streaming structured output rendered via @hashbrownai/react's useUiKit + useJsonParser
JSON spec rendered via @json-render/react against a Zod catalog
Agent-authored HTML/CSS/SVG in a sandboxed iframe, minimal variant
Sandboxed iframe that invokes host-registered sandbox functions via Websandbox.connection.remote
MCP server-driven UI via activity renderers
Polished landing-style chat surface with brand theming and suggestion pills
Interactive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the interrupt lifecycle
Resolve interrupts from a plain button grid — no chat, no useInterrupt render prop