Technology
shadcn/ui Adds Native Chat Components for Streaming Conversations
The popular open-source UI library introduces five new conversation-focused components and headless primitives to streamline chat interface development.
InfoQ
shadcn, a design engineer at Vercel behind the widely adopted shadcn/ui component library, has unveiled a fresh collection of building blocks for constructing chat interfaces. This marks the first time the project has introduced purpose-built components for handling streaming conversations directly within its ecosystem.
What's Included#
The new release provides five core components designed to work together as a cohesive conversation layer. MessageScroller serves as the container managing scroll behavior, while Message arranges individual conversation rows. The remaining trio—Bubble, Attachment, and Marker—handle message surfaces with interactive feedback, file handling, and status indicators respectively.
Additionally, shadcn introduced two new CSS utilities (scroll-fade and shimmer) and a new @shadcn/react package delivering unstyled, headless versions of these components that separate interaction logic from visual styling.
How It Works#
At the core sits MessageScroller, a container that abstracts away the tricky aspects of scroll management: anchored conversation turns, live streaming replies, thread restoration, prepended chat history, jump-to-message navigation, and visibility detection. Crucially, it doesn't dictate how you store AI state, handle transport, manage persistence, or integrate your language model—developers supply their own content rendering layer.
The new headless primitives in @shadcn/react allow teams to ship battle-tested interaction patterns independent of visual styling. A complementary registry component wraps these primitives in standard shadcn/ui styles, and all components work with both Radix and Base UI underneath.
Reception and Adoption#
The announcement resonated strongly: the initial tweet garnered nearly 950,000 views within days, and Vercel's chief executive Guillermo Rauch called it "The UI for AI." However, a GitHub issue soon surfaced indicating that MessageScroller anchor points aren't reliably applied at mount time, even when using the headless primitives alone.

