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 スキルによる段階移行が整備されているため、移行を検討するなら今がタイミングだ。

元ネタ: https://ui.shadcn.com/docs/changelog