# Copilot Shell block

> AI copilot chat surface with streaming transcript and recent chats

Full page AI copilot chat surface with a streaming transcript, a tabbed header thread switcher over pinned and recent chats, a starter view of prompt and thread shortcuts, model switching, and a docked composer with removable context chips.

- Type: Pro block
- Category: [AI Chat](https://reui.io/blocks/ai-agents/ai-chat.md)
- Page: https://reui.io/blocks/ai-agents/ai-chat/ai-chat-1
- MCP: `get_block("ai-chat-1")`
- Built with: Alert, Attachment, Avatar, Badge, Bubble, Button, Code Block, Collapsible, Dropdown Menu, Field, Frame, Input Group, Kbd, Marker, Message, Message Scroller, Popover, Progress, Scroll Area, Spinner, Tabs, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## Best for

A starter rail of Create, Explore, Code and Learn prompts, with a context window meter and an extended thinking toggle in the composer

## Agent notes

- Replace `THREADS`, `TRANSCRIPTS`, `STARTER_CATEGORIES` and `MODELS` in data.ts; `TOKEN_USAGE` is a fixed count and cost behind the context meter
- `webSearch`, `extendedThinking` and the attached `chips` stay inside `Composer`; `onSend` receives only the text, so pass them to your model call
- Attach adds a canned chip from `ATTACH_ACTIONS`, dictation only toggles `listening`, and Export transcript and file downloads only fire a `toast`

## When not to use

- A start screen beside a persistent sidebar with a model picker grid: use [Model Picker Chat](https://reui.io/blocks/application/app-shell/app-shell-17.md) (`get_block("app-shell-17")`)
- An assistant chat that slides over the current page from the right edge: use [Copilot Chat](https://reui.io/blocks/application/sheet/sheet-10.md) (`get_block("sheet-10")`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)
- Shiki v4: [API reference](https://shiki.style/guide/install), [docs](https://shiki.style/guide/), through ReUI Code Block

## Install

```bash
npx shadcn@latest add @reui/ai-chat-1
```

## About AI Chat blocks

### When to use

- A full page assistant chat, new chat welcome screen or 2 model comparison inside an AI product
- A copilot docked beside the page it works on, or opened from a launcher in the page corner
- Answers that show the work behind them: sources read, tool steps, plans to approve and run cost

### When not to use

- The product layout around the chat: a sidebar of threads, workspaces and account menus: use the [App Shell blocks](https://reui.io/blocks/application/app-shell.md)
- A plain overlay chat panel opened from a button, with suggestion chips and a composer: use the [Sheet blocks](https://reui.io/blocks/application/sheet.md)
- A highlighted snippet with a filename header and copy button, outside any conversation: use [Code Block](https://reui.io/components/code-block.md) (`get_component("code-block")`)

### Agent notes

- Each `AiChat` root sizes itself to the viewport with `h-svh`, or `min-h-svh` in ai-chat-5; give it your layout's height inside an app shell
- Every reply is canned content from the block's data file, played back on `setTimeout` and `setInterval` timers; stream your model's output there instead

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
