Laravel 13.25 replaces the concurrently-based process runner behind the artisan dev command with @laravel/multiplex, a terminal UI that isolates the dev server, queue worker, Pail, and Vite into separate tabs instead of one interleaved stream. It ships three modes (tabs, stream, inline), per-process restart, search, timestamps, and configurable buffer sizes via new DevCommands methods. Crashed processes now auto-restart by default (a behavior change from the old kill-others-on-fail setup), and a separate fix restores respect for the SERVER_HOST environment variable that had stopped working. The multiplex path requires macOS or Linux and Node v22.13+; Windows falls back to concurrently.
Table of contents
# The Three Modes# Setting the Default for a Project# Auto Restart# What Runs Where# The SERVER_HOST Fix# Further ReadingQuestions this post answers
What changed with the artisan dev command in Laravel 13.25?
Laravel 13.25 replaces the concurrently package that powered artisan dev with @laravel/multiplex, a terminal UI giving each process (server, queue worker, Pail, Vite) its own tab with search, per-process restart, and timestamps. It also adds stream and inline modes, configurable buffer sizes via DevCommands methods, and requires macOS or Linux plus Node v22.13 or later; Windows still uses concurrently. Keep track of Laravel release changes like this one on daily.dev before they surprise you mid-upgrade.
Why did crashed processes take down the whole artisan dev stack before Laravel 13.25?
Since Laravel 13.18, artisan dev passed --kill-others-on-fail to concurrently, so a single crashed process (like a queue worker dying on a fatal error) killed every other process in the stack. Laravel 13.25 changes the default so a crashed process now restarts automatically instead, unless disabled with --no-restart or DevCommands::disableAutoRestart(). daily.dev helps developers spot behavior changes like this before they hit a broken local dev setup.
Why is SERVER_HOST being ignored when running php artisan dev in Laravel?
The server process was registered as serve --host=localhost, and since an explicit command-line option overrides ServeCommand's environment-based default, the SERVER_HOST environment variable got ignored once projects switched from the old composer dev script to artisan dev. Laravel 13.25 fixes this by registering the default as plain serve, restoring SERVER_HOST=0.0.0.0 support for exposing the dev server on a network. Track fixes like this on daily.dev so a stale workaround does not linger in your Laravel project.