shadcn/ui が Base UI をデフォルトに変更 — Radix との違いと既存プロジェクトへの影響
2026年7月、shadcn/ui の npx init がデフォルトで Base UI を選択するようになった。Radix は廃止されず、-b radix フラグで継続利用できる。移行は AI スキルベースで段階的に行える。
なにが起きているか
2026年7月、shadcn/ui チームが npx shadcn init のデフォルトを Radix UI から Base UI に変更した。
決め手はユーザーの行動だった。昨年から npx shadcn create で両ライブラリを選べるようにしていたところ、新規プロジェクトの約 2/3 が Base UI を選択していた。Base UI v1.6.0 が週間 600 万ダウンロードに達し、shadcn/ui チーム自身も新規プロジェクトで Base UI を採用し始めたことで、デフォルト変更に踏み切った。
変わったのは「デフォルト」だけではない。ドキュメントの各コンポーネントページも Base UI タブが前面に出るようになり、公式の重心が移った形だ。
Radix との違い
Base UI は Radix の開発チームが作った「後継ライブラリ」だが、設計思想が異なる。
Radix はスタイルを持たないヘッドレス UI として設計された。コンポーネントごとにパッケージが分かれており(@radix-ui/react-dialog など)、追加のたびに package.json が膨らむのが悩みだった。
Base UI はその反省を踏まえ、単一パッケージ(@base-ui-components/react)に統合されている。API も整理されており、たとえば Radix の asChild パターンは Base UI では render prop に置き換わった。
// Radix
<Dialog.Trigger asChild>
<Button>開く</Button>
</Dialog.Trigger>
// Base UI
<Dialog.Trigger render={<Button />}>
開く
</Dialog.Trigger>
アクセシビリティの仕様準拠は両者とも高いが、Base UI は ARIA パターンをより厳密に実装している。
既存プロジェクトへの影響
今すぐ対応は不要。 shadcn/ui チームは Radix の廃止を否定しており、既存の Radix ベースプロジェクトはそのまま動き続ける。公式は「Radix は今日も本番で使っており、移行していない」とコメントしている。
ただし新規プロジェクトで Radix を使い続けたい場合、-b radix フラグが必要になった:
# Base UI (新デフォルト)
npx shadcn init
# Radix を使い続けたい場合
npx shadcn init -b radix
CI やスクリプトで shadcn init を非対話で呼んでいる場合は -b radix を明示しないとデフォルトが変わる。ここだけ注意。
段階的に移行する
移行したい場合、shadcn/ui はコードモッドではなく AI スキルで対応している。
pnpm dlx skills add shadcn/ui
インストール後、エージェントに migrate accordion to base-ui のように指示するだけで、カスタマイズしたクラスやバリアントを引き継ぎながらコンポーネント単位で移行できる。60 以上のコンポーネントを約 25 分で移行できたとの報告もある。
コードモッドではないため、型チェックが通り git 履歴がクリーンに保たれるのが利点だ。
今回合わせて追加されたもの
チャット UI 向けコンポーネントが新たに加わった:
| コンポーネント | 用途 |
|---|---|
MessageScroller | スクロール動作とメッセージ管理 |
Message / Bubble | 会話 UI の基本要素 |
Attachment / Marker | ファイル添付・既読マーカー |
CSS ユーティリティとして scroll-fade(スクロール端のフェード)と shimmer(ストリーミング表示)も追加。AI チャット UI を構築している場合は使い所がある。
また GitHub Registry に対応し、任意の GitHub リポジトリを registry.json で shadcn/ui 互換コンポーネントとして配布できるようになった。社内デザインシステムの配布に使えそうだ。
まとめ
npx shadcn init のデフォルトが変わっただけで、Radix は廃止されない。既存プロジェクトは今のまま動く。新規プロジェクトを始めるなら Base UI を試してみる価値はある — 単一パッケージで API が整理されており、学習コストは低い。AI スキルによる段階移行が整備されているため、移行を検討するなら今がタイミングだ。