---
## What is CopilotKit
CopilotKit is a best-in-class SDK for building full-stack agentic applications, Generative UI, and chat applications.
We are the company behind the **AG-UI Protocol**, adopted by Google, LangChain, AWS, Microsoft, Mastra, PydanticAI, and more!
https://github.com/user-attachments/assets/de5bcc17-1b51-4092-9a85-42971ecc1f4c
**Features:**
- **Chat UI** – A React-based chat interface that supports message streaming, tool calls, and agent responses.
- **Backend Tool Rendering** – Enables agents to call backend tools that return UI components rendered directly in the client.
- **Generative UI** – Allows agents to generate and update UI components dynamically at runtime based on user intent and agent state.
- **Shared State** – A synchronized state layer that both agents and UI components can read from and write to in real time.
- **Human-in-the-Loop** – Lets agents pause execution to request user input, confirmation, or edits before continuing.
https://github.com/user-attachments/assets/55bf6714-62a7-4d5d-9232-07747cc0763b
## Quick Start
### New projects:
```bash
npx copilotkit@latest create -f
```
### Existing projects:
```bash
npx copilotkit@latest init
```
https://github.com/user-attachments/assets/7372b27b-8def-40fb-a11d-1f6585f556ad
What this gives you:
- **CopilotKit installed** – Core packages are fully set up in your app
- **Provider configured** – Context, state, and hooks ready to use
- **Agent <> UI connected** – Agents can stream actions and render UI immediately
- **Deployment-ready** – Your app is ready to deploy
[Complete getting started guide →](https://docs.copilotkit.ai/langgraph/quickstart)
## How it works:
CopilotKit connects your UI, agents, and tools into a single interaction loop.

This enables:
- Agents that ask users for input
- Tools that render UI
- Stateful workflows across steps and sessions
## ⭐️ useAgent Hook
The `useAgent` hook is a proper superset of `useCoAgent` and sits directly on AG-UI, giving more control over the agent connection.
```ts
// Programmatically access and control your agents
const { agent } = useAgent({ agentId: "my_agent" });
// Render and update your agent's state
return
{agent.state.city}
```
Check out the [useAgent docs](https://go.copilotkit.ai/useagent-docs) to learn more.
https://github.com/user-attachments/assets/67928406-8abc-49a1-a851-98018b52174f
## Generative UI
Generative UI is a core CopilotKit pattern that allows agents to dynamically render UI as part of their workflow.
https://github.com/user-attachments/assets/3cfacac0-4ffd-457a-96f9-d7951e4ab7b6
### Compare the Three Types
#### Explore:
- [Static (AG-UI Protocol)](https://docs.copilotkit.ai/ag-ui-protocol)
- [Delclaritive (A2UI)](https://docs.copilotkit.ai/generative-ui/specs/a2ui#using-a2ui-with-copilotkit)
- [Open-Ended (MCP Apps & Open JSON)](https://docs.copilotkit.ai/generative-ui/specs/mcp-apps)
[Generative UI educational repo →](https://github.com/CopilotKit/generative-ui)
## 🖥️ AG-UI: The Agent–User Interaction Protocol
Connect agent workflow to user-facing apps, with deep partnerships and 1st-party integrations across the agentic stack—including LangGraph, CrewAI, and more.
[](https://go.copilotkit.ai/ag-ui)
---
```
npx create-ag-ui-app my-agent-app
```
Learn more in the AG-UI README →
## 🤝 Community
- [What's New](https://docs.copilotkit.ai/whats-new)
Follow us on LinkedIn →
Follow us on X →
## 🙋🏽♂️ Contributing
Thanks for your interest in contributing to CopilotKit! 💜
We value all contributions, whether it's through code, documentation, creating demo apps, or just spreading the word.
Here are a few useful resources to help you get started:
- For code contributions, [CONTRIBUTING.md](./CONTRIBUTING.md).
- For documentation-related contributions, [check out the documentation contributions guide](https://docs.copilotkit.ai/contributing/docs-contributions?ref=github_readme).
- Want to contribute but not sure how? [Join our Discord](https://discord.gg/6dffbvGU3D) and we'll help you out!
## 📄 License
This repository's source code is available under the [MIT License](https://github.com/CopilotKit/CopilotKit/blob/main/LICENSE).