CopilotKit
Reference / v1 / components

CopilotKit

The CopilotKit provider component, wrapping your application.

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.

import { CopilotKit } from "@copilotkit/react-core";
 
<CopilotKit runtimeUrl="<your-runtime-url>">
  // ... your app ...
</CopilotKit>

Properties

publicApiKeystring

Your Copilot Cloud API key.

Don't have it yet? Go to https://cloud.copilotkit.ai and get one for free.

publicLicenseKeystring

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.

guardrails_c{ validTopics?: string[]; invalidTopics?: string[]; }

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.

runtimeUrlstring

The endpoint for the Copilot Runtime instance. Click here for more information.

transcribeAudioUrlstring

The endpoint for the Copilot transcribe audio service.

textToSpeechUrlstring

The endpoint for the Copilot text to speech service.

headersRecord<string, string> | (() => Record<string, string>)

Additional headers to be sent with the request. Can be a static object or a function that returns headers dynamically (useful for refreshing auth tokens).

For example:

// Static headers
headers={{ "Authorization": "Bearer X" }}

// Dynamic headers (re-evaluated on each render)
headers={() => ({ "Authorization": `Bearer ${getToken()}` })}
childrenReactNoderequired

The children to be rendered within the CopilotKit.

propertiesRecord<string, any>

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 for details.

credentialsRequestCredentials

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,
  },
});
agentstring

The name of the agent to use.

forwardedParametersPick<ForwardedParametersInput, 'temperature'>

The forwarded parameters to use for the task.

authConfig_c{ SignInComponent: React.ComponentType<{ onSignInComplete: (authState: AuthState) => void; }>; }

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.

threadIdstring

The thread id to use for the CopilotKit.

onErrorCopilotErrorHandler

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);
  }}
>
enableInspectorboolean

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.

debugDebugConfig

Enable debug logging. On the server (CopilotRuntime), this enables structured Pino logging of the AG-UI event pipeline. On the client, this configuration is forwarded to the AG-UI transport layer (transformChunks) for transport-level debug output.

Pass true for full output, or an object for granular control:

<CopilotKit debug={true} runtimeUrl="...">
  {children}
</CopilotKit>