---
title: "Laravel Breezeはなぜ非推奨に？Laravel 13のスターターキット4種と移行判断"
url: "https://www.issoh.co.jp/tech/details/10351/"
published: 2025-12-22
updated: 2026-09-28
categories: ["Laravel"]
publisher: "株式会社一創"
---

# Laravel Breezeはなぜ非推奨に？Laravel 13のスターターキット4種と移行判断

Laravel Breezeは、Laravel 12のリリースノートで「追加の更新は行わない」と告知されました。後継はReact・Vue・Svelte・Livewireの4種類のスターターキットで、認証処理はLaravel Fortifyに一本化され、2要素認証とパスキーが標準で入ります。

ただし「非推奨」は「使えなくなった」という意味ではありません。2026年9月時点でBreezeのリポジトリはアーカイブされておらず、最新のv2.4.2はLaravel 13を依存範囲に含みます。本記事では、Laravel 13.33.0で `breeze:install` を実行した結果と、Breezeパッケージを外しても動くかを確かめた結果をもとに、既存プロジェクトを移行すべきかどうかの判断材料をまとめます。

## まとめ：Breeze非推奨の実態とスターターキット選びの要点

- **非推奨の中身**：Laravel 12（2025年2月24日）で「BreezeとJetstreamは追加の更新を受けない」と告知。削除やアーカイブではなく、新機能の追加が止まった状態です。
- **Laravel 13でも入る**：Breeze v2.4.2は `^11.0|^12.0|^13.0` を許容し、Laravel 13.33.0で `breeze:install blade` は成功、同梱テスト25件も通りました。ただしTailwindは3系のままです。
- **既存のBreeze製アプリは急いで移行しなくてよい**：Breezeはコードを生成するだけの開発用パッケージで、`composer remove` で外してもテストは全件通りました。
- **Jetstream製アプリは計画的に移行する**：`HasTeams` などJetstreamのクラスを実行時に使うため、次のメジャー版への追随が保証されません。
- **新規は後継のスターターキット**：`laravel new` でReact・Vue・Svelte・Livewireから選びます。4種ともFortifyを使い、2要素認証・パスキー・メール確認が最初から有効です。

## Laravel Breezeが非推奨になった経緯とリポジトリの現状

告知の根拠は、[Laravel 12のリリースノート](https://laravel.com/framework/docs/12.x/releases)にある次の一文です。

> `With the introduction of our new application starter kits, Laravel Breeze and Laravel Jetstream will no longer receive additional updates.`

新しいスターターキットの導入に伴い、BreezeとJetstreamは今後の更新を受けない、という意味です。公式サイトの案内もスターターキットに切り替わり、BreezeのREADMEには「This starter kit is for Laravel 11.x and prior.（Laravel 11.x以前向け）」と書かれています。

### Laravel 13への互換更新は継続：v2.4.2とv5.5.3の依存範囲

一方で、保守が完全に止まったわけではありません。2026年9月28日時点のGitHubの状態は次のとおりです。

| 項目          | laravel/breeze     | laravel/jetstream  |
| ----------- | ------------------ | ------------------ |
| アーカイブ       | されていない             | されていない             |
| 最新リリース      | v2.4.2（2026-05-19） | v5.5.3（2026-05-19） |
| 許容するLaravel | 11 / 12 / 13       | 11 / 12 / 13       |
| PHP要件       | 8.2以上              | 8.2以上              |
| 直近のコミット     | 2026-06-20         | 2026-09-17         |

Breezeの最後のコミットは、Laravel 13以降のInertiaスタックで不要になった `bootstrap.js` の読み込みを外す修正でした。新機能は入らないものの、新しいLaravelで壊れない程度の手当ては続いています。パスキーやチーム機能のような新しい認証機能が入るのは、後継のスターターキットだけです。

### Laravel 13.33.0でbreeze:installを実行した結果

PHP 8.5.8の環境で、Laravel 13の新規プロジェクトにBreezeを入れてみました。

```
composer create-project laravel/laravel app
cd app
php artisan --version
# Laravel Framework 13.33.0
composer require laravel/breeze --dev
# Installing laravel/breeze (v2.4.2)
php artisan breeze:install blade
# INFO  Breeze scaffolding installed successfully.
php artisan test
# tests: 25, passed: 25
```

インストールは成功し、`routes/auth.php` にログイン・登録・メール確認などのルートが入りました。注意点はフロントエンドです。Laravel 13の雛形はTailwind CSS 4（`@tailwindcss/vite`）で始まりますが、Breezeは `vite.config.js` を書き換えてTailwindのViteプラグインを外し、`tailwind.config.js` と `postcss.config.js` を置いてTailwind 3.4.19で組み直します。`package.json` には使われなくなった `@tailwindcss/vite` が残るため、Tailwind 4の書き方で追加したCSSはそのままでは効きません。

## Laravel Breezeとは：6つのスタックと生成されるコード

Breezeは、ログイン・ユーザー登録・パスワードリセット・メール確認・プロフィール編集の画面とコントローラーを、アプリ内にコピーする雛形生成ツールです。`php artisan breeze:install` に渡すスタックは6種類あります。

- `blade`：BladeとAlpine.js
- `livewire` ／ `livewire-functional`：Livewire（Voltのクラス記法／関数記法）
- `react` ／ `vue`：Inertia経由のReact・Vue（`--typescript` でTypeScript化）
- `api`：画面を持たず、SPAやモバイル向けの認証APIだけを生成

Breezeの認証はFortifyを使わず、`app/Http/Controllers/Auth` に置かれるコントローラーなどが処理します。検証したBladeスタックでは認証コントローラーが9本ありますが、Livewireスタックでは主にVoltコンポーネントが認証処理を担います。生成後のコードはすべてアプリの持ち物になるため、Breezeは開発用依存（`--dev`）として入れるのが公式の手順でした。Jetstreamとの違いは次の表のとおりです。

| 比較項目     | Breeze                 | Jetstream             | 新スターターキット                 |
| -------- | ---------------------- | --------------------- | ------------------------- |
| 認証処理     | 生成したコントローラー            | Fortify               | Fortify                   |
| 実行時の依存   | 不要（開発用）                | laravel/jetstream     | laravel/fortify           |
| 画面の技術    | Blade・Livewire・Inertia | Livewire・Inertia（Vue） | React・Vue・Svelte・Livewire |
| Tailwind | 3系                     | 3系                    | 4系                        |
| 2要素認証    | なし                     | あり                    | あり                        |
| パスキー     | なし                     | なし                    | あり                        |
| チーム機能    | なし                     | あり                    | あり（`--teams`）             |

## 後継のスターターキット4種の技術構成

2026年9月時点の各リポジトリのmainブランチは、いずれもPHP 8.3以上・`laravel/framework ^13.17`・`laravel/fortify ^1.37.2`・Tailwind CSS 4を前提にしています。

| キット      | フロントエンド                           | UIライブラリ       | 画面の橋渡し     |
| -------- | --------------------------------- | ------------- | ---------- |
| React    | React 19・TypeScript               | shadcn/ui     | Inertia 3  |
| Vue      | Vue 3（Composition API）・TypeScript | shadcn-vue    | Inertia 3  |
| Svelte   | Svelte 5・TypeScript               | shadcn-svelte | Inertia 3  |
| Livewire | Livewire 4・Blade                  | Flux UI       | なし（サーバー描画） |

Laravel 12の発表時はReact・Vue・Livewireの3種で、Livewire版はVoltを使っていました。その後Svelte版が2026年2月に加わり、Livewire版はLivewire 4ベースに作り替えられています。React・Vue・Svelte版はルート定義をTypeScriptの型として生成するWayfinderを使うため、Fortifyの機能を無効にしたときは、フロント側に残った該当ルートの参照も消さないとビルドが失敗します。Inertia 3の仕組みは[Laravel Inertiaとは](/tech/details/17149/)、Livewire 4の書き方は[Livewire（Laravel）の使い方](/tech/details/4474/)で解説しています。

### Fortifyによる認証：2要素認証とパスキーが標準で有効

4種のキットはすべて、認証のバックエンドにFortifyを使います。`config/fortify.php` の初期状態では次の機能が有効です。

```
'features' => [
    Features::registration(),
    Features::resetPasswords(),
    Features::emailVerification(),
    Features::twoFactorAuthentication([
        'confirm' => true,
        'confirmPassword' => true,
    ]),
    Features::passkeys([
        'confirmPassword' => true,
    ]),
],
```

2要素認証（TOTP）は2025年9月、パスキーは2026年5月にキットへ追加されました。パスキーはFortify v1.37.0（2026年4月28日）で入ったWebAuthn実装で、`User` モデルが `PasskeyUser` を実装し、`passkeys` テーブルのマイグレーションも最初から含まれます。Breeze自体にはパスキー機能が含まれませんが、新キットでは作成直後から設定画面で登録できます。パスキーと2要素認証の実装の細部は[Laravel Fortifyとは](/tech/details/17129/)にまとめています。

### チーム機能：teamsオプションで生成される構成

`laravel new` に `--teams` を付けると、ユーザーが複数のチームに所属し、登録時に個人用チームが作られる構成で生成されます。ダッシュボードのURLは `/{current_team}/dashboard` になり、チームの作成・切り替え・メンバー招待の画面も付きます。Jetstreamのチーム機能に相当しますが、テーブル構成は別物です（後述）。

### WorkOS AuthKit版：ソーシャルログイン・SSO・Magic Auth

各キットにはWorkOS AuthKitで認証する版があり、Google・Microsoft・GitHub・Appleのソーシャルログイン、パスキー、メールで届くコードでログインするMagic Auth、SSOが使えます。AuthKitのユーザー管理は月間アクティブユーザー100万人まで無料ですが、企業向けSSOの接続は別料金（1〜15接続なら1接続あたり月額125ドル）です。`.env` には `WORKOS_CLIENT_ID`・`WORKOS_API_KEY`・`WORKOS_REDIRECT_URL` を設定します。公式ドキュメントは、WorkOS側で「Email + Password」を無効にしてアプリがパスワードを一切持たない構成を推奨しています。料金の試算や他のIDaaSとの比較は[WorkOSとは](/tech/details/17295/)をご覧ください。

## laravel newでスターターキットを作成する手順とオプション

スターターキットはLaravelインストーラーから作成します。対話形式で聞かれる項目は、オプションで先に指定できます。

```
composer global require laravel/installer
laravel new my-app --react
cd my-app
npm install && npm run build
composer run dev
```

| オプション                                           | 効果                       |
| ----------------------------------------------- | ------------------------ |
| `--react` ／ `--vue` ／ `--svelte` ／ `--livewire` | 使うキットを指定                 |
| `--livewire-class-components`                   | Livewireをクラス分離型で生成       |
| `--workos`                                      | WorkOS AuthKit版を使う       |
| `--teams`                                       | チーム機能を入れる                |
| `--no-authentication`                           | 認証なしの blank 版キットを使う      |
| `--pest` ／ `--phpunit`                          | テストフレームワークを選ぶ            |
| `--boost` ／ `--no-boost`                        | Laravel Boostを入れるか       |
| `--using=vendor/package`                        | Packagist上のコミュニティ製キットを使う |

作成の途中で、キット側のフック（`php artisan install:features`）が「Which authentication features would you like to enable?」と尋ね、メール確認・ユーザー登録・2要素認証・パスキー・パスワード確認の5項目を選ばせます。既定は全選択で、外した機能は関連するコード・設定・パッケージごと削除されます。社内ツールで公開登録が不要なら、ここで Registration を外すのが最も手早い方法です。

インストーラーを使わず `composer create-project laravel/react-starter-kit` を直接実行すると、2025年2月24日付のタグ v1.0.1 が入ります。キットはタグを切らずにmainを更新しているため、インストーラー（v5.32.0）は内部で `--stability=dev` を付けています。直接実行する場合も同じ指定が必要です。

## Laravelの認証ライブラリの役割分担：Fortify・Sanctum・Passport・Socialite

「Laravelの認証ライブラリはどれを使うか」で迷う原因は、画面を持つスターターキットと、画面を持たない部品のパッケージが混在していることです。

| パッケージ     | 担う範囲                         | 最新版（2026年9月） |
| --------- | ---------------------------- | ------------ |
| スターターキット  | 下のFortifyを使った画面一式            | mainを随時更新    |
| Fortify   | ログイン・登録・2要素認証・パスキーの処理        | v1.40.0      |
| Sanctum   | SPAのCookie認証・APIトークン         | v4.3.3       |
| Passport  | OAuth2サーバー                   | v13.8.0      |
| Socialite | Google・GitHubなど外部アカウントでのログイン | v5.31.0      |

画面付きのWebアプリならスターターキット（中身はFortify）、同一の親ドメインを共有するSPAのCookie認証や、モバイルアプリのAPIトークン認証ならSanctum、他社のアプリにOAuthで認可を出す場合だけPassportです。Socialiteはこれらと併用する部品で、単体ではセッション管理を担いません。Sanctumの2つの認証方式の使い分けは[Laravel Sanctumとは](/tech/details/17139/)で扱っています。

## スターターキットの選定基準：フロントエンドの担当技術とAPI要件

4種の機能差はほぼなく、違いはフロントエンドの書き方だけです。判断はチームのスキルとAPIの要否で決まります。

- **PHPとBladeが中心のチーム**：Livewire。JavaScriptのビルド設定を触る場面が最も少なく、Breezeの `blade` スタックからの乗り換え先にもなります。
- **Reactの経験者がいる**：React。shadcn/uiの部品をそのまま使えます。構成の比較は[LaravelとReactの連携方法](/tech/details/2906/)を参照してください。
- **既存のVue資産がある**：Vue。Breezeの `vue` スタックやJetstreamのInertia版から移る場合の近道です。
- **Svelteを使いたい**：Svelte。2026年2月に加わった最も新しいキットで、Svelte 5のrunesで書かれています。

スターターキットを採用すべきでない場面もあります。モバイルアプリや別ドメインのSPAが主な利用者で、Laravel側に画面を持たないAPIサーバーを作るなら、キットは不要です。`php artisan install:api` でSanctumを導入し、ログイン・登録・パスワードリセットのAPIをFortifyまたは独自実装で補う構成が、Breezeの `api` スタックの代わりになります。

新規案件でBreezeを選ぶ理由は、ほぼ残っていません。Breezeは新機能を受けないうえTailwind 3で固定され、2要素認証もパスキーもありません。Bladeを使いながらLivewireのコンポーネント構成を採用できるなら、Livewireキットが候補です。従来型のコントローラーとBladeだけで構成したい場合は、Fortifyなどで認証処理を組み込む方法もあります。

## 既存のBreeze・Jetstreamプロジェクトの扱い：移行の要否と手順

BreezeとJetstreamは同じ「非推奨」でも、既存アプリへの影響がまったく異なります。

### Breeze製アプリ：パッケージ削除後の生成コードとテスト結果

先ほどのLaravel 13.33.0のアプリから、Breezeパッケージを削除してみました。

```
composer remove laravel/breeze --dev
# Removing laravel/breeze (v2.4.2)
php artisan test
# tests: 25, passed: 25
```

削除時に `pre_uninstall` イベントのエラー表示が検証環境では出ましたが、削除は完了しました。別の環境で同じ表示が出た場合は、終了コードと依存関係の状態を確認してください。削除後もAuthコントローラー9本と認証ルートはそのまま残り、テストも全件通りました。Breeze製アプリの認証コードはアプリ側に生成済みなので、Breezeの更新停止だけで直ちに動かなくなるわけではありません。ただし、生成コードの修正やLaravel更新時の互換性確認はアプリ側で続ける必要があります。**急いで移行する必要はなく**、パスキーや2要素認証が必要になった時点でFortifyを追加すれば足ります。

### Jetstream製アプリ：実行時依存と次期メジャー版への移行計画

Jetstreamは事情が違います。生成される `User` モデルは `Laravel\Jetstream\HasProfilePhoto` や `HasTeams` を使い、アプリの実行時にJetstreamパッケージが必要です。現行のv5.5.3はLaravel 13までを許容しますが、「追加の更新を受けない」と告知された以上、次のメジャー版への対応は保証されません。Laravel 13のセキュリティ修正は2028年3月17日まで続くので、それまでに移行を計画するのが現実的です。各版のサポート期限は[Laravelの最新バージョンとサポート期限](/tech/details/5637/)で確認できます。

### 新スターターキットへの移し替え手順

既存アプリにキットを上書きする仕組みはありません。新しいキットでアプリを作り、業務コードを移すのが基本の流れです。

1. `laravel new` で、元のスタックに近いキット（Livewire版Jetstreamなら `--livewire --teams`）を作成する
2. モデル・マイグレーション・業務用のルートとコントローラーを移植する
3. `users` テーブルの差分を埋める。キットは2要素認証の列（`two_factor_secret` など）と `passkeys` テーブルを前提にしている
4. チーム機能を使っていた場合はデータ移行スクリプトを書く。Jetstreamは `teams.user_id`・`personal_team`・`team_user`、キットは `teams.slug`・`is_personal`・`team_members` と、テーブル構成が異なる
5. `php artisan route:list` でルート名の差を洗い出し、テストを通す

チーム機能を使っている場合は、手順4のデータ移行を個別に見積もります。使っていない場合も、認証画面やプロフィール管理、APIトークンなど、利用中の機能と独自改修の移植範囲を確認してください。

## よくある質問（Laravel Breeze・スターターキット）

### Laravel Breezeはなぜ非推奨になったのですか？

Laravel 12で、React・Vue・Livewireの新しいスターターキットが公式の雛形になったためです。リリースノートには、BreezeとJetstreamは今後の更新を受けないと記載されています。新キットは認証をFortifyに集約し、2要素認証やパスキーを標準で備えています。

### Laravel 13でも php artisan breeze:install は使えますか？

使えます。Breeze v2.4.2はLaravel 11〜13を依存範囲に含み、Laravel 13.33.0で `breeze:install blade` が成功することを確認しました。ただしフロントエンドはTailwind 3で組み直されるため、Laravel 13の雛形のTailwind 4とは混在します。

### Laravel Breezeとは何でしたか？

ログイン・登録・パスワードリセット・メール確認の画面とコントローラーをアプリ内に生成する、最小構成の認証スターターキットです。Blade・Livewire・React・Vue・APIのスタックから選べ、生成後のコードは自由に書き換えられました。

### 新しいスターターキットは何種類ありますか？ReactとVueの違いは？

React・Vue・Svelte・Livewireの4種類で、それぞれにWorkOS版があります。React版とVue版はどちらもInertia 3を使いますが、コンポーネントの記法や状態管理が異なり、UI部品もそれぞれshadcn/uiとshadcn-vueを採用しています。認証機能の差はありません。

### パスキーやソーシャルログイン（SSO）は使えますか？

パスキーは標準のキットでFortifyにより最初から有効です。GoogleやGitHubでのソーシャルログインとSSOは、WorkOS AuthKit版を選ぶと使えます。標準版でソーシャルログインだけ追加したい場合はSocialiteを組み込みます。

## 関連記事

- [Laravel Fortifyとは｜画面を持たない認証バックエンドの責務と2FA・パスキーの実装](/tech/details/17129/)
- [WorkOSとは：SSOとSCIMを外部化するB2B SaaS向け認証基盤を実装視点で解説](/tech/details/17295/)
- [LaravelとReactの連携方法｜3つの構成の選び方とInertia・Sanctumの設定【Laravel 13】](/tech/details/2906/)
- [Laravel Sanctumとは：SPAとモバイルのトークン認証とCookieセッションの使い分け](/tech/details/17139/)
- [Laravelの最新バージョンは13｜対応PHPバージョン・サポート期限一覧とアップグレード判断](/tech/details/5637/)

---

出典: [Laravel Breezeはなぜ非推奨に？Laravel 13のスターターキット4種と移行判断](<https://www.issoh.co.jp/tech/details/10351/>)（株式会社一創）
