Shadcn/UI now defaults to Base UI instead of Radix

278 points · 159 comments on HN · read original →

Points and comments are a snapshot, not live.

shadcn/ui changes default from Radix to Base UI and adds chat components.

Base UI is now the default library for new shadcn/ui projects, replacing Radix. Radix remains supported; no migration is required. The changelog also introduces components for chat interfaces (MessageScroller, Message, Bubble, Attachment, Marker), a headless `@shadcn/react` package, GitHub Registries for distributing any project files, the `shadcn eject` command to inline CSS, and a new compact style called Rhea. A migration tool using coding agents and skills is provided for those who wish to switch from Radix to Base UI.

What commenters are saying

Commenters split between those who appreciate the evolution and those skeptical of the churn. One camp praises Base UI's primitives and the copy-paste approach for customization, while another prefers traditional libraries like Mantine for simpler version upgrades. A subthread debates the shift from codemods to LLM-driven migrations, with some seeing value and others preferring human-readable docs. Several commenters express fatigue with the rapid succession of UI library defaults.