--- title: "useDefaultRenderTool" description: "Register a wildcard default renderer for unhandled tool calls" --- ## Overview `useDefaultRenderTool` is a convenience wrapper around `useRenderTool` with `name: "*"`. This is part of the v2 tool rendering hook set with [`useComponent`](/reference/hooks/useComponent), [`useRenderTool`](/reference/hooks/useRenderTool), and [`useRenderToolCall`](/reference/hooks/useRenderToolCall). - With no config, it registers CopilotKit's built-in default tool-call UI. - With `render`, it replaces that default UI with your own wildcard renderer. Use this for catch-all rendering of tool calls that do not have a specific named renderer. ## Signature ```tsx import { useDefaultRenderTool } from "@copilotkit/react-core/v2"; function useDefaultRenderTool( config?: { render?: (props: { name: string; parameters: any; status: string; result: string | undefined; }) => React.ReactElement; }, deps?: ReadonlyArray, ): void; ``` ## Behavior - Internally calls `useRenderTool({ name: "*", ... })`. - If `config.render` is omitted, uses an expandable default card UI that shows status, parameters, and result. - If `config.render` is provided, your renderer is used instead. - Inherits `useRenderTool` registration behavior and dependency semantics. ## Usage ### Built-in default renderer ```tsx function App() { useDefaultRenderTool(); return null; } ``` ### Custom wildcard renderer ```tsx function App() { useDefaultRenderTool( { render: ({ name, status, result }) => (
{name}: {status} {status === "complete" && result ?
{result}
: null}
), }, [], ); return null; } ``` ## Related - [`useRenderTool`](/reference/hooks/useRenderTool) - [`useRenderToolCall`](/reference/hooks/useRenderToolCall)