A search for “Laravel Vue auth” still ends on php artisan breeze:install vue or php artisan jetstream:install inertia. Run either on a 2026 app and you get two login stacks fighting each other. Here is where every old screen lives in the Vue starter kit instead.
TL;DR
- Breeze and Jetstream still install, but their readmes say they are for Laravel 11 and prior;
laravel newoffers the Vue, React, Svelte and Livewire kits. - The Vue starter kit already has login, registration, password reset, email verification, profile settings and two-factor.
- Never install either package on top of the kit. Edit
app/Actions/Fortify/*instead.
Those commands publish an older starter into the app. Laravel 13’s installer does not offer either package. laravel new asks for the current kits: Vue, React, Svelte, or Livewire.
Breeze and Jetstream still exist as Composer packages. Each GitHub readme says the package is for Laravel 11 and prior, and points new apps at laravel.com/starter-kits.
Gotcha: two login stacks
Do not install either one on top of the Vue starter kit. You would get two login stacks, two sets of routes, and a Vite config fighting itself.
The choice of Inertia, a separate SPA, or Nuxt is Laravel and Vue in 2026. The kit’s login actions are Fortify.
A new app#
laravel new my-appPick the Vue starter kit. It gives you login, registration, password reset, email verification, and profile settings, with the Vue pages living in the app rather than inside a package. What you need is the version check. The first page is the next thing to build.
Heads up: existing apps
This page does not migrate an existing Breeze or Jetstream app. If that app already runs, leave the package in place and keep shipping features. A rewrite is a different project.
Where the old screens went#
| Old tutorial | Vue starter kit |
|---|---|
| Breeze login, register, forgot password, reset, verify | resources/js/pages/auth, posting to Fortify |
| Breeze profile | The kit’s settings pages |
| Jetstream two-factor | Fortify two-factor, already enabled on the kit |
| Jetstream teams | A teams option when the kit is generated |
| Jetstream API tokens | Sanctum tokens, or Passport when the client must use OAuth |
The Fortify actions are app/Actions/Fortify/CreateNewUser.php and ResetUserPassword.php. Edit those when registration needs another column. Do not register a second POST /login.
The commands to skip#
On a fresh app that is not the Vue starter kit, the old installers are still the ones tutorials paste:
Breeze, then Jetstream:
composer require laravel/breeze --dev
php artisan breeze:install vuecomposer require laravel/jetstream
php artisan jetstream:install inertiaRun neither inside an app you created with the Vue starter kit. Breeze’s vue stack publishes its own Inertia pages, layout, and Vite setup. Jetstream’s inertia stack does the same, and it also pulls in teams and Sanctum token UI that the kit does not expect to share a routes file with.
Teams, tokens, and two-factor#
Teams#
The Laravel 13 starter kit docs say the Vue kit may be generated with team support. Each user then belongs to a team, and the team screens ship in that app. That option is chosen when the app is created. Adding Jetstream later is not how you turn teams on.
API tokens#
Jetstream’s API token screen was a Sanctum personal access token. The Vue kit’s browser login is a session cookie. A phone or a script that needs a token uses the token section of the Sanctum guide. A third party with its own client id uses Passport. Neither case needs Jetstream installed beside the kit.
Two-factor#
Two-factor authentication is already a Fortify feature on the starter kit. The challenge routes are documented with the rest of Fortify. This page does not add a second two-factor form.
See what the kit already registered
php artisan route:list --path=two-factorWhat to build next#
Auth is done when laravel new finishes and the kit’s login page accepts a user. The first feature is create, edit, delete, and search. A separate Vue app that is not this kit is the Sanctum cookie guide, and it still does not get Breeze installed on the Laravel side.
Recap#
laravel newoffers the Vue starter kit, not Breeze or Jetstream.- The kit already ships every auth screen those packages published.
- Customize registration in
app/Actions/Fortify; don’t add a second login route. - Teams are chosen at creation; tokens come from Sanctum; two-factor is Fortify.
FAQ#
Is Laravel Breeze deprecated?
It still installs, but its readme says it is for Laravel 11 and prior, and the Laravel 13 installer offers the new starter kits instead.
Can I install Jetstream on the Vue starter kit to get teams?
No. Choose team support when you generate the Vue kit. Installing Jetstream on top adds a second auth stack.
Where is the profile page in the Vue starter kit?
In the kit’s settings pages, which replace the Breeze profile screen.
How do I add a field to registration in the Vue starter kit?
Edit app/Actions/Fortify/CreateNewUser.php and the registration page in resources/js/pages/auth.
Next steps#
- Laravel Fortify with Vue: the actions behind the kit’s screens.
- Sanctum or Passport for a Vue app: the token question.
- Set up a Laravel 13 + Vue 3 app
- Laravel docs: Starter kits



