Recently shipped Trace, Code Block, and AI Elements — building blocks for agentic interfaces.
Agent interfaces gained three new pieces.
- Trace lists the steps an agent takes — thoughts, commands, file edits — as one reusable composition.
- Code Block renders the code an agent writes.
- AI Elements collects patterns for agentic interfaces assembled from shadcn/ui components.
All three work with Base UI, React Aria, and Radix across all eight styles.
Conversation and question flows rounded out. Questionnaire handles multi-step flows with fixed, freeform, multiple, and skippable answers. MessageScroller, Message, Bubble, Attachment, and Marker cover streaming conversations; Toast builds on Base UI primitives, and typeset styles rendered markdown with one class. @shadcn/helpers mocks human-in-the-loop flows — scripted conversations pause for real input, wait for approval, and continue through the real useChat lifecycle.
Every component now imports cn from a package. The new cn package replaces twMerge(clsx(...)) — same API, one dependency instead of two. The CLI installs it and generates a one-line lib/utils.ts.
Private GitHub repos work as registries. If you can read a repo, the CLI can install from it; logged into the GitHub CLI, credentials stay in gh and never enter the shadcn process. shadcn search can now forward query parameters to a registry instead of downloading the full catalog — opt-in, and static registries keep working unchanged.
Base UI is the default base; React Aria is first-class. New projects default to Base UI, with Radix fully supported.