showcase/shell-docs/src/content/reference/index.mdx
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:
// CopilotKit is imported from the root package, not from the v2 subpackage
function App() {
return (
<CopilotKit runtimeUrl="/api/copilotkit">
<YourApp />
</CopilotKit>
);
}
If you need direct control over the v2 provider (e.g. for custom integrations), you can import CopilotKitProvider from @copilotkit/react-core/v2:
<CopilotKitProvider runtimeUrl="/api/copilotkit">
<App />
</CopilotKitProvider>
<PropertyReference name="properties" type="Record<string, unknown>" default="{}"
Runtime metadata payload. </PropertyReference>
<PropertyReference name="useSingleEndpoint" type="boolean"> When enabled, all runtime calls use a single endpoint. </PropertyReference><PropertyReference name="agents__unsafe_dev_only" type="Record<string, AbstractAgent>"
Preinstantiated agents for development/testing. Not intended for production use. </PropertyReference>
<PropertyReference name="renderToolCalls" type="ReactToolCallRenderer[]"> Static set of tool call renderers. The array should be stable across renders. </PropertyReference><PropertyReference name="renderActivityMessages" type="ReactActivityMessageRenderer[]"
Static set of activity message renderers. </PropertyReference>
<PropertyReference name="renderCustomMessages" type="ReactCustomMessageRenderer[]"
Static set of custom message renderers. </PropertyReference>
<PropertyReference name="frontendTools" type="ReactFrontendTool[]"> Static tool handlers defined at the provider level. The array should be stable across renders. </PropertyReference> <PropertyReference name="humanInTheLoop" type="ReactHumanInTheLoop[]"> Declarative human-in-the-loop tool definitions. Each becomes both a tool handler and a tool call renderer. </PropertyReference> <PropertyReference name="showDevConsole" type='boolean | "auto"'> Show the CopilotKit developer console for debugging. </PropertyReference> <PropertyReference name="onError" type="(event: { error: Error; code: CopilotKitCoreErrorCode; context: Record<string, any> }) => void | Promise<void>"> 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.
<CopilotKitProvider
runtimeUrl="/api/copilotkit"
onError={(event) => {
console.error(`[${event.code}]`, event.error.message, event.context);
}}
>
<App />
</CopilotKitProvider>
When using v2 UI components, import the stylesheet once at your app boundary:
import "@copilotkit/react-core/v2/styles.css";