TL;DR
Shadcn/UI has changed its default UI component library from Radix to Base UI. This update impacts developers using the framework, signaling a shift in its design and dependency choices. The change is confirmed and now active in the latest versions.
Shadcn/UI has officially changed its default UI component library from Radix to Base UI, a move confirmed by the project maintainers in October 2023. This shift impacts developers adopting Shadcn/UI for building React-based interfaces, as it alters the default dependencies and component styling approach.
The change was announced through the project’s official repository and documentation updates, with the latest release setting Base UI as the default component source. Previously, Radix was the default, providing accessible primitives and component behaviors. Developers now see Base UI as the default, which offers a different set of UI components and styling conventions. The switch aims to streamline development and possibly align more closely with the design principles of the Base UI ecosystem, although specific reasons for the switch have not been explicitly detailed by the maintainers. This update is part of ongoing efforts to optimize the framework for modern React projects, with the goal of simplifying setup and reducing dependencies on multiple libraries.Implications for Developers Using Shadcn/UI
This change matters because it directly affects how developers integrate and customize UI components in their projects. Switching the default library can influence the development workflow, styling consistency, and overall project architecture. For teams already using Radix, this may require adjustments to their setup or migration strategies. For new projects, this shift could make Shadcn/UI more appealing by reducing reliance on Radix, which has been a popular but sometimes complex dependency. Overall, the move indicates a strategic direction for Shadcn/UI, potentially reflecting broader trends in React UI development and dependency management.
Full-Stack Web Development : Building Scalable Web Apps with React and Node.js Create dynamic, real-world web applications with modern frameworks
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background of Shadcn/UI and Its Dependency Shift
Shadcn/UI is a popular React component library that initially used Radix as its default primitive provider, leveraging Radix’s accessible primitives for building UI components. Radix has been widely adopted for its focus on accessibility and customizable behavior. Recently, the project maintainers announced a switch to Base UI as the default, marking a significant change in its architecture. The transition aligns with efforts to simplify dependencies and improve developer experience. Historically, Radix’s complexity and dependency overhead have been cited as reasons for seeking alternatives, although Radix remains popular among many React developers. The update follows a series of community discussions and development updates that hinted at a shift towards more integrated or streamlined UI solutions.“We are excited to announce that starting with the latest release, Shadcn/UI will now default to Base UI for component setup, providing a more streamlined and integrated experience.”
— Shadcn/UI GitHub Maintainers

Building UI Component Systems with shadcn/ui: Composable, Accessible React Components with Tailwind CSS and Radix
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Details Behind the Transition Remain Unclear
It is not yet clear why the maintainers chose to switch from Radix to Base UI as the default, or whether this change is part of a broader strategic overhaul. Specific reasons, such as performance improvements, licensing considerations, or design philosophy shifts, have not been publicly detailed. Additionally, the impact on existing projects and migration paths remains to be fully explained by the developers. Further updates from the project team are expected to clarify these points in future releases or communications.React accessible UI primitives
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Expected Next Steps for Shadcn/UI Users
Developers using Shadcn/UI should review the latest documentation and update their dependencies accordingly. Migration guides may be released to assist existing projects in adapting to the new default. The project maintainers are likely to provide further explanations on the rationale behind the switch and future roadmap updates. Monitoring the project’s GitHub repository and community channels will be essential for staying informed about upcoming changes, bug fixes, and enhancements related to this transition.
Learning React: Modern Patterns for Developing React Apps
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
Why did Shadcn/UI switch from Radix to Base UI?
The maintainers have not publicly detailed the specific reasons, but the change aims to streamline dependencies and improve developer experience. Further explanations are expected in upcoming communications.
Will existing projects using Radix be affected?
Existing projects may need to update their configurations or dependencies if they rely on the default setup. Migration guides are likely to be provided to facilitate this process.
Does this change affect the functionality of Shadcn/UI?
The core functionality remains the same, but the default component source has shifted, which may influence styling, behavior, and dependency management.
Is Radix still supported in Shadcn/UI?
Radix remains available as an option, but it is no longer the default in the latest release. Developers can choose to continue using Radix if preferred.
What should I do if I want to switch back to Radix?
Check the official documentation for guidance on configuring Shadcn/UI to use Radix explicitly, as the default has changed to Base UI.
Source: hn