Chatcn
React components for AI products that need real conversation surfaces: messages, tools, files, sources, threads, markdown, and prompt inputs that live in your codebase.
Built for the parts of AI apps that usually get patched together.
Tool execution has a place
Show pending, successful, and failed calls without inventing ad-hoc panels every sprint.
Responses stay readable
Messages, markdown, sources, files, and code blocks compose into answer views that scan cleanly.
You own the code
Components land in your repo through shadcn, so styling and behavior stay under your control.
Start with the surface you need.

Chat Container
Full conversation surfaces with sidebars, composer, and state.

Prompt Input
Responsive input, actions, attachments, and send affordances.

Markdown
Readable AI output with code, prose, tables, and rich text.
Tool Calls
Loading, completed, and error states for real tool execution.
Sources
Compact references with hover previews and source metadata.
Files
Clear file chips for uploads, generated artifacts, and context.
Add one component, then make it yours.
Install from the registry, keep the source in your app, and adapt the pieces to your product instead of shipping another generic assistant screen.
pnpm dlx shadcn@latest add https://chatcn.me/c/prompt-input