Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@assistant-ui/react

assistant-ui106.5kMIT0.10.11TypeScript support: included

Typescript/React library for AI Chat

radix-ui, nextjs, vercel, ai-sdk, react, components, ui, frontend, tailwind, shadcn, assistant, openai, ai, chat, chatbot, copilot, ai-chat, ai-chatbot, ai-assistant, ai-copilot, chatgpt, gpt4, gpt-4, conversational-ui, conversational-ai

readme

assistant-ui Header

Product · Documentation · Examples · Discord Community · Contact Sales

Weave Badge Backed by Y Combinator

The UX of ChatGPT in your React app 💬🚀

assistant-ui is an open source Typescript/React library for AI chat.

The library handles essential chat features such as auto-scrolling, accessibility, and real-time updates, while providing easy integration with LangGraph, AI SDK and custom backends.

The API of assistant-ui is inspired by libraries like shadcn/ui and cmdk. Instead of a single monolithic chat component, developers get primitive components that can be fully customized.

We have wide model provider support (OpenAI, Anthropic, Mistral, Perplexity, AWS Bedrock, Azure, Google Gemini, Hugging Face, Fireworks, Cohere, Replicate, Ollama) out of the box and the ability to integrate custom APIs.

Getting Started

You can get started by running npx assistant-ui create (new project) or npx assistant-ui init (existing project) in your terminal.

assistant-ui starter template

Features

  • shadcn/ui
    • Radix UI-inspired primitives for AI Chat
    • Beautiful shadcn/ui theme to get you started
  • Chat UI
    • Streaming, Auto-scrolling, Markdown, Code Highlighting, File Attachments, and more
  • Keyboard shortcuts and accessibility features
  • Generative UI
    • Map LLM tool calls and JSONs to custom UI components
  • Frontend tool calls
    • Let LLMs take action in your frontend application
  • Human tool calls
    • Human approvals and input collection
  • Chat history and analytics
    • Sign up for assistant-cloud and configure by simply setting an environment variable

Choose your backend

  • AI SDK
    • First class integration into AI SDK by Vercel. Connect to any LLM provider supported by AI SDK.
  • LangGraph
    • First class integration into LangGraph and LangGraph Cloud. Connect to any LLM provider supported by LangChain.
  • Custom
    • Use assistant-ui as the visualization layer on top your own backend/streaming protocols.

Customization

The API of assistant-ui is inspired by libraries like Radix UI and cmdk. Instead of a single monolithic chat component, we give you composable primitives and a great starter configuration. You have full control over the look and feel of every pixel while leaving auto-scrolling, LLM streaming and accessibility to us.

Overview of components

Sample customization to make a perplexity lookalike:

Perplexity clone created with assistant-ui

Demo Video

Short Demo

Long Demo

Traction

Hundreds of projects use assistant-ui to build in-app AI assistants, including companies like LangChain, AthenaIntelligence, Browser Use, and more.

With >50k+ monthly downloads, assistant-ui is the most popular UI library for AI chat.

Growth

2025 Q1 Roadmap

  • <input checked="" disabled="" type="checkbox"> Assistant Cloud
  • <input checked="" disabled="" type="checkbox"> Chat Persistence
  • <input checked="" disabled="" type="checkbox"> React 19, Tailwind v4, NextJS 19 support
  • <input checked="" disabled="" type="checkbox"> Improved Markdown rendering performance
  • <input checked="" disabled="" type="checkbox"> LangGraph interrupt() support
  • <input checked="" disabled="" type="checkbox"> Open in v0 support
  • <input disabled="" type="checkbox"> Improved documentation (work in progress)
  • <input disabled="" type="checkbox"> OpenAI Realtime Voice (work in progress)
  • <input disabled="" type="checkbox"> Resume interrupted LLM calls (work in progress)
  • <input disabled="" type="checkbox"> Native PDF attachment support
  • <input disabled="" type="checkbox"> Follow-up suggestions

Next Steps