# Tool Call

Displays an AI tool invocation with status indicator, args, result, and elapsed time



<ComponentPreview base="opentui" name="tool-call-demo" />

Installation [#installation]

<CodeTabs>
  <TabsList>
    <TabsTrigger value="cli">
      Command
    </TabsTrigger>

    <TabsTrigger value="manual">
      Manual
    </TabsTrigger>
  </TabsList>

  <TabsContent value="cli">
    ```bash
    npx shadcn@latest add @termcn/opentui-tool-call
    ```
  </TabsContent>

  <TabsContent value="manual">
    <Steps>
      <Step>
        Copy and paste the following code into your project.
      </Step>

      <ComponentSource base="opentui" name="tool-call" title="components/ui/tool-call.tsx" />

      <Step>
        Update the import paths to match your project setup.
      </Step>
    </Steps>
  </TabsContent>
</CodeTabs>

Usage [#usage]

```tsx
import { ToolCall } from "@/components/ui/tool-call";
```

```tsx
<ToolCall
  name="search_codebase"
  args={{ query: "handleSubmit", maxResults: 10 }}
  status="success"
  result="Found 3 matches in src/components/"
  duration={245}
/>
```

API Reference [#api-reference]

ToolCall [#toolcall]

| Prop               | Type                                             | Default    |
| ------------------ | ------------------------------------------------ | ---------- |
| `name`             | `string`                                         | `required` |
| `args`             | `Record<string, unknown>`                        | -          |
| `status`           | `"pending" \| "running" \| "success" \| "error"` | `required` |
| `result`           | `unknown`                                        | -          |
| `duration`         | `number`                                         | -          |
| `collapsible`      | `boolean`                                        | `true`     |
| `defaultCollapsed` | `boolean`                                        | `true`     |
