# Chat App · Pro

A complete assistant workspace in one file: thread list, streamed replies with a tool call, suggestion chips, a growing composer with stop, and a drawer on mobile. Connect `respond` to your model.

This is a Charcoal UI Pro component. Its source and examples are available with a Pro seat: https://charcoalui.com/pricing

## With a Pro seat

1. Add the registry to components.json:

```json
{
  "registries": {
    "@charcoal": {
      "url": "https://charcoalui.com/r/{name}.json",
      "headers": {
        "Authorization": "Bearer ${CHARCOAL_LICENSE_KEY}"
      }
    }
  }
}
```

2. Copy your licence key from https://charcoalui.com/dashboard and put it in .env.local as CHARCOAL_LICENSE_KEY, then:

```bash
npx shadcn@latest add @charcoal/chat-app
```

To read Pro source through this MCP server, reconnect it with the header "Authorization: Bearer <licence key>".

## API — Chat App
| Prop | Type | Default | Notes |
| --- | --- | --- | --- |
| `assistant` | `string` | `"Assistant"` |  |
| `threads` | `{ id; title; messages }[]` | — |  |
| `respond` | `(prompt: string) => Promise<{ text: string; tool?: { name: string; seconds: number } }>` | — |  |
| `speed` | `number` | `28` | Words per second when streaming. |
| `suggestions` | `string[]` | — |  |

See it live: https://charcoalui.com/docs/components/chat-app