This provider is shared across v1 and v2 APIs. It must be imported from the
root package (@copilotkit/react-core), not from the v2 subpackage.
This component will typically wrap your entire application (or a sub-tree of your application where you want to have a copilot). It provides the copilot context to all other components and hooks.
Example
You can find more information about self-hosting CopilotKit here.
<CopilotKit runtimeUrl="<your-runtime-url>">// ... your app ...</CopilotKit>
Properties
Your Copilot Cloud API key.
Don't have it yet? Go to https://cloud.copilotkit.ai and get one for free.
Your public license key for accessing premium CopilotKit features.
Don't have it yet? Go to https://cloud.copilotkit.ai and get one for free.
Restrict input to specific topics using guardrails. @remarks
This feature is only available when using CopilotKit's hosted cloud service. To use this feature, sign up at https://cloud.copilotkit.ai to get your publicApiKey. The feature allows restricting chat conversations to specific topics.
The endpoint for the Copilot Runtime instance. See the Copilot Runtime API documentation.
The endpoint for the Copilot transcribe audio service.
The endpoint for the Copilot text to speech service.
Additional headers to be sent with the request.
For example:
{
"Authorization": "Bearer X"
}
The children to be rendered within the CopilotKit.
Custom properties to be sent with the request. Can include threadMetadata for thread creation and authorization for LangGraph Platform authentication. For example:
{
'user_id': 'users_id',
'authorization': 'your-auth-token', // For LangGraph Platform authentication
threadMetadata: {
'account_id': '123',
'user_type': 'premium'
}
}
Note: The authorization property is automatically forwarded to LangGraph agents. See the LangGraph Agent Authentication Guide (see code examples above) for details.
Indicates whether the user agent should send or receive cookies from the other domain in the case of cross-origin requests.
To enable HTTP-only cookie authentication, set credentials="include" and configure
CORS on your runtime endpoint:
// Frontend (https://myapp.com)
<CopilotKit runtimeUrl="https://api.myapp.com/copilotkit" credentials="include">
{children}
</CopilotKit>;
// Backend (https://api.myapp.com)
copilotRuntimeNextJSAppRouterEndpoint({
runtime,
endpoint: "/copilotkit",
cors: {
origin: "https://myapp.com",
credentials: true,
},
});
Whether to show the dev console.
Set to true to show error banners and toasts, false to hide all error UI.
Defaults to false for production safety.
Configuration for the A2UI (Agent-to-UI) renderer.
The built-in A2UI renderer is activated automatically when the runtime reports
that a2ui is configured in CopilotRuntime. This prop is optional and only
needed if you want to override the default theme.
<CopilotKit runtimeUrl="/api/copilotkit" a2ui={{ theme: myCustomTheme }}>
{children}
</CopilotKit>
The name of the agent to use.
The forwarded parameters to use for the task.
The auth config to use for the CopilotKit. @remarks
This feature is only available when using CopilotKit's hosted cloud service. To use this feature, sign up at https://cloud.copilotkit.ai to get your publicApiKey. The feature allows restricting chat conversations to specific topics.
The thread id to use for the CopilotKit.
Optional error handler for comprehensive debugging and observability.
Requires publicApiKey: Error handling only works when publicApiKey is provided. This is a premium Copilot Cloud feature.
@param errorEvent - Structured error event with rich debugging context
@example
<CopilotKit
publicApiKey="ck_pub_your_key"
onError={(errorEvent) => {
debugDashboard.capture(errorEvent);
}}
>
Enable or disable the CopilotKit Inspector, letting you inspect AG-UI events, view agent messages, check agent state, and visualize agent context. Defaults to enabled.