--- 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](https://docs.ag-ui.com) agent protocol. ## Provider Setup The v2 API uses the [``](/reference/components/CopilotKit) provider. Wrap your application with it to configure the runtime connection: ```tsx import { CopilotKit } from "@copilotkit/react-core/v2"; function App() { return ( ); } ``` `CopilotKit` is a low-level provider intended for advanced use cases. Most applications should use the `` component from `@copilotkit/react-core/v2` instead. If you need direct control over the v2 provider (e.g. for custom integrations), import `CopilotKit` from `@copilotkit/react-core/v2`: ```tsx import { CopilotKit } from "@copilotkit/react-core/v2"; ``` ### Props URL of the CopilotKit runtime endpoint. Lazily forwarded to the core after mount. Request headers forwarded with runtime calls. Credentials mode for fetch requests (e.g. `"include"` for HTTP-only cookies in cross-origin requests). Copilot Cloud public API key. Alias for `publicApiKey`. Runtime metadata payload. When enabled, all runtime calls use a single endpoint. Preinstantiated agents for development/testing. **Not intended for production use.** Static set of tool call renderers. The array should be stable across renders. Static set of activity message renderers. 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. ```tsx { console.error(`[${event.code}]`, event.error.message, event.context); }} > ``` ## Styling When using v2 UI components, import the stylesheet once at your app boundary: ```tsx import "@copilotkit/react-core/v2/styles.css"; ``` ## API Reference Looking for tool rendering hooks? Start with [`useComponent`](/reference/hooks/useComponent), [`useRenderTool`](/reference/hooks/useRenderTool), and [`useDefaultRenderTool`](/reference/hooks/useDefaultRenderTool). } /> } />