106k
New

February 2026 - Unified Radix UI Package

The new-york style now uses the unified radix-ui package.

The new-york style now uses the unified radix-ui package instead of individual @radix-ui/react-* packages.

What's Changed

When you add components using the new-york style, they will now import from radix-ui instead of separate packages:

components/ui/dialog.tsx
- import * as DialogPrimitive from "@radix-ui/react-dialog"
+ import { Dialog as DialogPrimitive } from "radix-ui"

This results in a cleaner package.json with a single radix-ui dependency instead of multiple @radix-ui/react-* packages.

Migrating Existing Projects

If you have an existing project using the new-york style, you can migrate to the new radix-ui package using the migrate command:

pnpm dlx shadcn@latest migrate radix

This will update all imports in your UI components and add radix-ui to your dependencies.

To migrate components outside of your ui directory, use the path argument:

pnpm dlx shadcn@latest migrate radix src/components/custom

Once complete, you can remove any unused @radix-ui/react-* packages from your package.json.

See the migrate radix documentation for more details.