| title | API Reference |
|---|---|
| description | API Reference for the next-generation CopilotKit React API. |
The v2 React API (@copilotkit/react-core/v2) is the next-generation interface for building copilot-powered applications. It provides a streamlined set of hooks and components built on top of the AG-UI agent protocol.
The v2 API uses the <CopilotKit> provider. Wrap your application with it to configure the runtime connection:
import { CopilotKit } from "@copilotkit/react-core/v2";
function App() {
return (
<CopilotKit runtimeUrl="/api/copilotkit">
<YourApp />
</CopilotKit>
);
}If you need direct control over the v2 provider (e.g. for custom integrations), import CopilotKit from @copilotkit/react-core/v2:
import { CopilotKit } from "@copilotkit/react-core/v2";
<CopilotKit runtimeUrl="/api/copilotkit">
<App />
</CopilotKit><PropertyReference name="properties" type="Record<string, unknown>" default="{}"
Runtime metadata payload.
When enabled, all runtime calls use a single endpoint.<PropertyReference name="agents__unsafe_dev_only" type="Record<string, AbstractAgent>"
Preinstantiated agents for development/testing. Not intended for production use.
Static set of tool call renderers. The array should be stable across renders.<PropertyReference name="renderActivityMessages" type="ReactActivityMessageRenderer[]"
Static set of activity message renderers.
<PropertyReference name="renderCustomMessages" type="ReactCustomMessageRenderer[]"
Static set of custom message renderers.
Static tool handlers defined at the provider level. The array should be stable across renders. Declarative human-in-the-loop tool definitions. Each becomes both a tool handler and a tool call renderer. Show the CopilotKit developer console for debugging. Error handler called when CopilotKit encounters an error. Fires for all error types: runtime connection failures, agent errors, and tool errors.Unlike the v1 onError, this does not require a publicApiKey — error handling works with any configuration.
<CopilotKit
runtimeUrl="/api/copilotkit"
onError={(event) => {
console.error(`[${event.code}]`, event.error.message, event.context);
}}
>
<App />
</CopilotKit>When using v2 UI components, import the stylesheet once at your app boundary:
import "@copilotkit/react-core/v2/styles.css";