Dev Ex
Chat & UI
Pre-Built: CopilotChat
View allPre-built <CopilotChat /> component for full-screen/embedded chat
Pre-Built: Sidebar
View allDocked sidebar chat via <CopilotSidebar />
Pre-Built: Popup
View allFloating popup chat via <CopilotPopup />
Chat Customization: Slots
View allCustomizing chat components via the slot system
Chat Customization: CSS
View allCustomizing chat components via CSS
Headless UI: Simple
View allSimple headless UI getting started
Headless UI: Complete
View allFull headless UI with messages, tools, gen UI
Platform
Controlled Generative UI
Generative UI: useComponent
View allAgent renders typed React components via the useComponent hook
Human In the Loop: In-chat
View allInteractive approval/decision surface rendered inline in the chat. Uses the high-level `useHumanInTheLoop` hook — handles the interrupt lifecycle for you.
Human in the Loop: Interrupts
View allInteractive component rendered inline in the chat via the lower-level `useInterrupt` primitive — direct control over the LangGraph interrupt lifecycle.
In-Chat HITL (Booking)
View allTime-picker card rendered inline via useHumanInTheLoop for a booking flow
In-Chat Human in the Loop (Original)
View allOriginal HITL demo kept for backwards compatibility
Human in the Loop: Headless Interrupts
View allResolve langgraph interrupts headlessly via agent.subscribe + copilotkit.runAgent — no chat, no useInterrupt render prop
Declarative Generative UI
Open-Ended Generative UI
Operational Generative UI
Generative UI: Tool Rendering (Default)
View allOut-of-the-box rendering: backend tools surfaced via CopilotKit's built-in default catch-all renderer; no frontend customization
Generative UI: Tool Rendering (Custom default)
View allSingle branded wildcard renderer that paints every tool call — one card handles them all
Generative UI: Tool Rendering (Specific)
View allCustom per-tool renderers for the tools you care about, plus a wildcard catch-all for the rest
Generative UI: Rendering multiple tools
View allSequential tool calls with reasoning tokens rendered side-by-side
Reasoning
View allVisible reasoning/thinking chain alongside the final answer
Reasoning (Default Render)
View allBuilt-in CopilotChatReasoningMessage renders without a custom slot
Reasoning: Default
View allBuilt-in CopilotChatReasoningMessage rendering with no slot override
Reasoning: Custom
View allCustom reasoning slot override via messageView.reasoningMessage
Generative UI: Agent State
View allAgent-state-driven inline UI: the agent emits a live `steps` plan via copilotkit_emit_state and the frontend renders it with useCoAgentStateRender (v1 hook)
Interactivity
Frontend Tools: In-app Actions
View allFrontend tool execution triggered by the agent
Frontend Tools: Async
View alluseFrontendTool with an async handler — agent awaits a client-side async operation (e.g. DB query) and uses the returned result
Human in the Loop: In-app
View allAgent calls 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
Agent State
Shared State: Read + Write
View allBidirectional agent state — UI writes preferences, agent writes notes back
Shared State: Read-only
View allFrontend recipe form publishes shared state via agent.setState; agent reads but does not mutate the recipe (neutral default agent, no backend tool)
Shared State: Streaming
View allPer-token state delta streaming from agent to UI
Shared State: Frontend Context
View allFrontend provides read-only context to the agent via useAgentContext
Multi-Agent
Sub-Agents
View allMultiple agents with visible task delegation
BYOC (Bring Your Own Components)
Declarative UI: Hashbrown
View allHashbrown-style generative UI (legacy slug — superseded by `declarative-hashbrown`; kept so the other 17 integrations whose manifests still declare this ID don't drop out of the catalog before their cross-codebase rename lands)
Declarative UI: json-render
View allStreaming structured-output generative UI via @json-render/react (legacy slug — superseded by `declarative-json-render`; kept for cross-integration parity until the rename completes elsewhere)
Declarative UI: json-render
View allStreaming structured-output generative UI via @json-render/react