Capture
Typed events preserve intent, state, tool use, and UI response.
The Enterprise Agentic Frontend Stack. Build rich agentic applications that learn from every interaction. Self-hostable and built to scale with your org.
Trusted by the majority of the Fortune 500s and Global 50.
The company behind AG-UI, the Agent-User Interaction protocol.
First party integrations from the leading agent stacks.
From a Series A in TechCrunch to a hands-on course on DeepLearning.AI, CopilotKit is shaping the next wave of AI agent interfaces.

TechCrunch covers our Series A — scaling the open-source AG-UI protocol and helping developers embed AI agents directly inside their applications.
Read the article
CEO Atai Barkai teaches a hands-on short course on building fullstack agents that render rich, interactive UI on demand with CopilotKit and AG-UI.
Take the course
Atai joins Google Cloud Tech to walk through A2UI, AG-UI, MCP Apps, and the protocols making in-app generative UI work across any agent.
Watch the talk// pre-built chat, styled with your CSS
<CopilotChat agentId="support"
className="acme-chat" />
// or swap any subcomponent via slots
<CopilotChat
messageView={AcmeMessages}
input={AcmeInput} />
// or fully headless
const { agent } = useAgent();
{agent.messages.map((m) => (
<AcmeBubble key={m.id}>{m.content}</AcmeBubble>
))}// Controlled generative UI
useComponent({
name: "showRefundStatus",
description: "Show a refund status card.",
parameters: z.object({
orderId: z.string(),
amount: z.number(),
method: z.string(),
}),
// your component, your design system
render: RefundStatusCard,
});
const RefundStatusCard = ({ orderId, amount }) => (
<Card>…</Card> // breakdown pie, your design system
);useHumanInTheLoop({
name: "chooseRefundMethod",
parameters: z.object({ orderId: z.string() }),
render: ({ respond }) => (
<RefundMethodChoice
options={["original card", "store credit"]}
allowCustomAnswer
onChoose={(answer) => respond?.(answer)}
/>
),
});const handler = createCopilotRuntimeHandler({
runtime,
hooks: {
onRequest: ({ request }) => {
const jwt = request.headers.get("authorization");
const user = verifyJwt(jwt);
if (!user)
throw new Response(null, { status: 401 });
// agent runs are tied to this user
},
},
});useFrontendTool({
name: "selectOrder",
description: "Open an order in the dashboard.",
parameters: z.object({ orderId: z.string() }),
handler: async ({ orderId }) => {
openOrder(orderId); // your app code
return { status: "selected", orderId };
},
});const { agent } =
useAgent({ agentId: "support" });
// read the agent's shared state
agent.state.focus // "refunds"
// write it, the agent sees the change
agent.setState({ ...agent.state, focus: "returns" });Open-source core, commercial runtime, one interaction layer. Adopt it team by team while conversations stay continuous across sessions and surfaces.
Built for SaaS copilots in customer-facing products and productivity copilots across internal tools, Slack, Teams, mobile, and messaging.
Self-host both the open-source SDK and the enterprise runtime. Nothing leaves your infrastructure.
AG-UI works with the stacks your teams use today, and whatever they adopt next.
Persist messages, application state, tool calls, and approvals so users can resume or branch without losing context.
Use observed outcomes and human feedback to improve prompts, routing, workflows, and UI behavior while you own the learning loop.
See what works, what stalls, and which surfaces need better interaction design. Every event stays tied to outcomes, tags, and the user surface where it happened.
Interaction trace · one run, stop by stop
Feed observed interaction patterns into evals, routing, instructions, and UI behaviors. The product gets better with every real user interaction, and your team owns the learning loop.
Typed events preserve intent, state, tool use, and UI response.
Score outcomes by task, tag, segment, and surface.
Promote better prompts, workflows, and UI patterns.
Deploy improvements back across web, mobile, chat, and messaging.
“The CopilotKit SDK has accelerated our development processes and enabled us to help our users accomplish their tasks more quickly and with more confidence.”
Mark Peterson, VP of Software Engineering
Docusign
“The AG-UI architecture lets us cleanly decouple our agent framework from the frontend, so we can evolve each independently. The pre-built component library saved us from rolling our own.”
Bryan Godwin, CTO
Evergreen Wealth
Start building
