Skip to main content

Why migrate away from laravel/ui?

laravel/ui still works on Laravel 13. The latest laravel/ui release includes Laravel 13 compatibility. That said, the current official starter kits are Fortify-based. Continuing to run on laravel/ui gradually drifts you away from the official direction. If you want to keep your existing Bootstrap + Blade setup while improving future maintainability, migrating just the authentication backend to Fortify is a good option.

The big picture of the migration

This migration replaces only the authentication backend. No large-scale UI overhaul is needed.
  • Fortify provides authentication routes and processing
  • Keep your existing Bootstrap + Blade templates
  • Adjust form actions and input names only where necessary
Fortify is a headless authentication backend. Because Fortify itself provides no UI, your existing Blade views can be used as-is.

Installing Fortify

1

Add the Fortify package

2

Publish Fortify's resources

3

Run migrations

4

Remove the auth routes added by `laravel/ui`

Remove Auth::routes(); or Auth::routes([...]) from routes/web.php. Because Fortify provides routes like /login, /register, and /forgot-password, you need to avoid duplicates.

Configuring FortifyServiceProvider

Wire up the views in the app/Providers/FortifyServiceProvider.php published by php artisan fortify:install. If you plan to reuse resources/views/auth as-is, this configuration is the key to migrating.

Minimal changes to Blade templates

After the migration, verify the following in your existing Blade views:
  • That form actions point to Fortify’s endpoints (e.g. /login, /register, /forgot-password). Most use named routes like route('login') and route('register'), so there should be little to change. One exception is route('verification.resend'), which in Fortify is route('verification.send') and needs updating.
Two edits are needed in auth/passwords/reset.blade.php:

Disable features you don’t need

Features that didn’t exist in laravel/ui won’t work out of the box, so disable them in config/fortify.php. You can enable them later by adding the corresponding view files.

Post-migration verification checklist

After the migration, verify at least the following:
1

Verify login / logout

Log in as an existing user and confirm the session persists correctly.
2

Verify registration

Register a new user and confirm you’re redirected to the expected screen.
3

Verify password reset

Confirm the entire flow from the reset email, through the tokenized link, to completing the reset.

Benefits after migration

After this migration, your app is aligned with the current Fortify-based starter kits. As a result, enabling 2FA and Passkeys in the future becomes easier.

Laravel Fortify and starter kits

See this page if you want to dig into Fortify’s internal design and go on to enable 2FA and passkeys.

References

Last modified on July 13, 2026