← Back to Discover

CopilotKit

An open-source SDK for building agent-powered apps with chat interfaces, generative UI, shared state and human-in-the-loop steps across React, Angular, Vue, React Native, Slack and Microsoft Teams.

Agent frameworks

What it does

CopilotKit is an SDK for building full-stack agentic applications, chat interfaces and generative UI. It started as a React library and now sits between an agent backend and the places users meet it: web apps, mobile apps and chat workspaces. The same agent can serve React and Next.js, Angular, Vue, React Native, Slack and Microsoft Teams. The feature set covers a customisable chat UI with streaming and tool calls, backend tool rendering, generative UI that agents create and update at runtime, shared state that agents and UI components both read and write, and human-in-the-loop steps where an agent pauses for input or confirmation. A useAgent hook gives programmatic control over the agent connection. The team also makes AG-UI, a protocol for connecting agent workflows to user-facing apps, and the page lists integrations with agent frameworks including LangChain, CrewAI, Mastra and PydanticAI. A Channels SDK adds adapters for Discord, WhatsApp and Telegram, with Google Chat, iMessage and SMS listed as roadmap items. CopilotKit Intelligence is an add-on for production use, with persistent threads, user memories, product analytics and automatic learning that turns completed threads into reviewed skills. It can be used as a hosted platform or self-hosted in your own Kubernetes cluster or VPC. The repository's source code is under the MIT licence, and a new project can be scaffolded with an npx command.

Capabilities

  • Customisable chat UI with streaming and tool calls
  • Generative UI that agents update at runtime
  • Shared state between agents and UI components
  • Human-in-the-loop steps for input, confirmation or edits
  • Support for React, Angular, Vue, React Native, Slack and Microsoft Teams
  • Optional Intelligence add-on for persistent threads, memories and analytics

When to use it

  • You are adding an agent or copilot to a React, Angular or Vue app
  • You want one agent to work in a web app and in Slack or Microsoft Teams
  • Your agent needs to render its own UI or pause for user approval