CopilotKit's 3-layer model suits product UI, not agent logic alone
CopilotKit divides an agent application into 3 layers: a frontend, a runtime in your application server, and an agent. AG-UI carries events between them. That separation is the reason to consider it. You can expose tools in the browser, stream agent state into application components, and stop a run for a user's approval without inventing a private protocol for every interaction.
The runtime can mount in Next.js, Express, Hono, Bun, Deno, or Cloudflare Workers. Behind it, CopilotKit names integrations for LangGraph, Mastra, CrewAI, Pydantic AI, and Microsoft Agent Framework, along with a built-in agent. The architecture guide defines 16 AG-UI event types for text, tools, state, and run lifecycle. CopilotKit is most useful when those interface concerns already hurt.
A 21,290-file monorepo is the price of its breadth
Our clone at commit b3d1aad contained 21,290 files, about 2,191,077 lines of source, and occupied 168.2 MB before installation. It is a workspace monorepo spanning framework packages, runtimes, examples, documentation, and product code. That breadth explains why a contributor checkout feels closer to a platform repository than a component library. A team evaluating one React package can focus on selected directories. Maintainers and contributors will still meet the whole workspace.
Installation made the difference visible. Pnpm added 4,778 packages in 41 seconds and left 4,450 MB on disk in our fresh Debian container. The project is perfectly reasonable to consume as published packages, yet developing the repository itself has a real storage and dependency cost. Our lab also counted 63 CI workflow files, evidence of extensive automation, though a large workflow collection does not guarantee that every local command exits cleanly.
What happened when we ran it
Our sandbox built CopilotKit successfully in 147 seconds using 3 CPUs, 8 GB of RAM, Node.js, and no secrets. Our test method used an unprivileged container and the supplied repository commands. The successful build matters because it covered this large workspace at the measured commit. It does not measure browser behavior, model quality, agent latency, or the hosted Intelligence service.
The test command returned exit 1 after 17 seconds. Vitest's summary was unexpectedly clean: 7 test files passed, with 29 tests passed and 0 failed. The tail then showed repeated ELIFECYCLE messages and an Nx run-executor.js path. The available log does not identify a failed assertion or prove why the outer command failed, so the honest finding is that the tests passed inside a repository command that still ended nonzero.
That distinction matters in CI. A team cannot treat 29 green Vitest checks as a green repository gate when the process status is 1. It also should not call those tests broken without the missing upstream error context. Reproduce the exact command in your own runner, keep the complete Nx output, and decide whether your release rule follows the individual test results or the top-level exit code.
React is GA, while Vue's quickstart is still missing
The README marks React and Next.js as GA. Angular, Vue, and React Native are described as supported, but the same table says Vue's quickstart is coming soon. Slack and Microsoft Teams are supported channels. Discord, WhatsApp, and Telegram have SDK adapters, while their managed connection is described as coming later. Those labels should shape a trial more than the broad promise of using any framework or surface.
For a React team, the pieces are concrete: prebuilt chat surfaces, headless APIs, shared state, frontend tools, backend tools that return UI, and human approval during a run. A Vue buyer should first build its real workflow, including authentication, tool errors, streaming cancellation, and upgrade behavior. Framework support can exist in source before its onboarding and integration history match the GA path.
Intelligence adds 3 services to the persistence decision
CopilotKit Intelligence owns rich threads, user memories, product analytics, inspection, and automatic learning in the current documentation. The self-hosted guide describes 3 application services, app-api, app-frontend, and realtime-gateway, plus your own Postgres, Redis, ingress, and OIDC provider. That is an operations project, not a flag that turns local chat history into durable product memory.
This split is defensible. The open source runtime stays in your application server, and AG-UI remains an inspectable boundary to your agent. Durable state and learning can then sit beside it through Intelligence. Buyers still need to price and review those layers separately. If thread restoration is a launch requirement, test the hosted or Kubernetes route during evaluation rather than judging it from the frontend SDK alone.
v1.77.0 and an October 5 push show current maintenance
GitHub showed 37,764 stars and 295 open issues and pull requests on October 5, 2026. The repository was pushed that day, and release v1.77.0 shipped on October 2 with fixes across LangGraph cancellation, generated controls, React and Vue styling, and malformed component values. A recently updated issue about repeated header function calls also shows that users are testing detailed React behavior, not merely filing broad requests.
CopilotKit earns a trial when an agent must behave like part of the product interface. Start with one workflow where shared state or approval is essential, then measure the browser and agent path that our repository run did not cover. The deciding cost is visible before production: 4,450 MB of dependencies for contributors, a top-level test exit of 1, and a separate platform choice if durable threads or memories are mandatory.

