Laravel 13.25: Pause All Queues &amp; New artisan dev UI | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    Laravel 13.25: Pause All Queues at Once and a New artisan dev Terminal UI        On this page       1. [  What's New in Laravel 13.25 ](#whats-new-in-laravel-1325)
2. [  Pause Every Queue on Every Connection ](#pause-every-queue-on-every-connection)
3. [  artisan dev Gets a Tabbed Terminal UI ](#artisan-dev-gets-a-tabbed-terminal-ui)
4. [  Images as HTTP Responses ](#images-as-http-responses)
5. [  Queue Observability Additions ](#queue-observability-additions)
6. [  Other Notable Changes ](#other-notable-changes)
7. [  Key Takeaways ](#key-takeaways)

  ![Laravel 13.25: Pause All Queues at Once and a New artisan dev Terminal UI](https://cdn.msaied.com/542/021fe5b0399ae1b971b6b64e300d1751.png)

 [  Laravel ](https://msaied.com/articles?category=laravel)  #Laravel 13   #Queue Management   #artisan dev   #Image API   #Laravel Releases  

 Laravel 13.25: Pause All Queues at Once and a New artisan dev Terminal UI 
===========================================================================

     11 Aug 2026      4 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

1. [  01   What's New in Laravel 13.25  ](#whats-new-in-laravel-1325)
2. [  02   Pause Every Queue on Every Connection  ](#pause-every-queue-on-every-connection)
3. [  03   artisan dev Gets a Tabbed Terminal UI  ](#artisan-dev-gets-a-tabbed-terminal-ui)
4. [  04   Images as HTTP Responses  ](#images-as-http-responses)
5. [  05   Queue Observability Additions  ](#queue-observability-additions)
6. [  06   Other Notable Changes  ](#other-notable-changes)
7. [  07   Key Takeaways  ](#key-takeaways)

 What's New in Laravel 13.25
---------------------------

Laravel 13.25.0 was released on August 11, 2026, bringing a handful of quality-of-life improvements for queue management, local development, and image handling, alongside a set of targeted bug fixes.

---

Pause Every Queue on Every Connection
-------------------------------------

Previously, pausing queues during a deployment meant issuing a separate command for every connection/queue pair. Laravel 13.25 adds an `--all` flag to both `queue:pause` and `queue:resume`:

```bash
php artisan queue:pause --all
php artisan queue:resume --all

```

The same capability is available on the facade:

```php
use Illuminate\Support\Facades\Queue;

Queue::pauseAll();
Queue::resumeAll();

```

The global switch uses a single cache key that workers check alongside per-queue keys. Crucially, `resumeAll()` clears only the global flag — queues you paused individually stay paused, so a deploy script cannot accidentally restart a queue that was parked on purpose. Two new events, `QueuesPaused` and `QueuesResumed`, fire alongside the existing per-queue events.

---

artisan dev Gets a Tabbed Terminal UI
-------------------------------------

The `artisan dev` command previously used `concurrently`, which interleaved all process output into a single scrolling feed. It now runs through `@laravel/multiplex`, giving each process its own tab with search, per-process restart, and log clearing.

Three output modes are available:

- **tabs** (default) — each process in its own tab
- **stream** — one interleaved feed you can scroll and search
- **inline** — plain output, used automatically when there is no TTY

```bash
php artisan dev --stream
php artisan dev --timestamps --no-restart

```

You can set project-level defaults in a service provider:

```php
use Illuminate\Foundation\DevCommands;

DevCommands::stream();
DevCommands::withTimestamps();
DevCommands::disableAutoRestart();
DevCommands::bufferSize(5000);

```

When the command exits, buffered logs are printed to the terminal so nothing is lost. Windows falls back to `concurrently`; the new path requires Node v22.13+ and runs on macOS and Linux.

---

Images as HTTP Responses
------------------------

`Image` now implements `Responsable`, so you can return an image instance directly from a route:

```php
use Illuminate\Support\Facades\Image;

Route::get('/avatars/{user}', function (User $user) {
    return Image::fromStorage($user->avatar_path)
        ->cover(200, 200)
        ->toWebp()
        ->quality(80);
});

```

Two additional helpers ship alongside this:

- **`Image::fromStream()`** — builds an instance from a stream resource (e.g., `Storage::disk('s3')->readStream($path)`)
- **`toFormat()`** is now public — converts a user-supplied format string to the correct output method, throwing an `ImageException` for unsupported formats

---

Queue Observability Additions
-----------------------------

- **`UniqueJobSkipped` event** — fires when a `ShouldBeUnique` job is dropped because the lock is already held, making it easy to distinguish a working constraint from a stuck lock.
- **`$timeout` on `JobTimedOut`** — the event now carries the number of seconds that was exceeded.
- **`#[FailOnTimeout]` for notifications** — `SendQueuedNotifications` respects a `$failOnTimeout` property or `#[FailOnTimeout]` attribute on the notification class.
- **`QueueFake` assigns UUIDs** — faked jobs now match the shape of real driver jobs, making `$job->uuid` testable.

---

Other Notable Changes
---------------------

- **`withoutCookies(array)`** — expire multiple cookies in one call instead of chaining `withoutCookie()` repeatedly.
- **`foreignUlidFor()`** schema helper — completes the trio alongside `foreignIdFor()` and `foreignUuidFor()`, producing a `char(26)` column with the correct foreign key constraint.
- **`Request::all()` prefers input over files** — when an input field and a file field share the same key, the input value wins; `file()` is unaffected.

---

Key Takeaways
-------------

- `queue:pause --all` / `queue:resume --all` and `Queue::pauseAll()` / `Queue::resumeAll()` simplify zero-downtime deployments.
- `artisan dev` now uses `@laravel/multiplex` for a tabbed terminal UI on macOS/Linux (Node v22.13+ required).
- `Image` implements `Responsable` and gains `fromStream()` and a public `toFormat()`.
- `UniqueJobSkipped`, an expanded `JobTimedOut`, and `#[FailOnTimeout]` for notifications improve queue observability.
- `foreignUlidFor()` completes the schema helper trio for ULID-based foreign keys.

---

*Source: [Laravel News — Laravel 13.25.0](https://laravel-news.com/laravel-13-25-0)*

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Flaravel-1325-pause-all-queues-at-once-and-a-new-artisan-dev-terminal-ui&text=Laravel+13.25%3A+Pause+All+Queues+at+Once+and+a+New+artisan+dev+Terminal+UI) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Flaravel-1325-pause-all-queues-at-once-and-a-new-artisan-dev-terminal-ui) 

 Frequently Asked Questions 
----------------------------

  3 questions  

     Q01  Does queue:resume --all also resume queues that were paused individually before the global pause?        No. `resumeAll()` clears only the global pause flag. Any queue you paused individually with `queue:pause {connection} {queue}` remains paused, so a deployment script cannot accidentally restart a queue that was intentionally parked. 

      Q02  What are the requirements for the new artisan dev terminal UI in Laravel 13.25?        The new `@laravel/multiplex`-based UI requires Node.js v22.13 or higher and runs on macOS and Linux. On Windows, the command automatically falls back to the previous `concurrently`-based runner. 

      Q03  How does Image::toFormat() differ from calling toWebp() or toAvif() directly?        `toFormat()` accepts a user-supplied format string and resolves it to the correct conversion method internally. It throws an `ImageException` for unsupported formats rather than silently falling through, making it safe to use with untrusted input such as a request parameter. 

  Continue reading

 More Articles 
---------------

 [ View all    ](https://msaied.com/articles) 

 [ ![Laravel AI SDK v0.10: 4 New Features Explained](https://cdn.msaied.com/540/e74363f048913d3782bc16a7292215db.png) Laravel AI SDK AI Agents Filesystem Tools 

### Laravel AI SDK v0.10: 4 New Features Explained

Laravel AI SDK v0.10 ships with filesystem tools for agents, human tool approval, and more. This walkthrough c...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 12 Aug 2026     3 min read  

  Read    

 ](https://msaied.com/articles/laravel-ai-sdk-v010-4-new-features-explained) [ ![Laravel Terminal UI for the artisan dev Command (Laravel 13.25)](https://cdn.msaied.com/541/5c4a4e54f6d67e80c03777985713ff65.png) Laravel Artisan Terminal UI 

### Laravel Terminal UI for the artisan dev Command (Laravel 13.25)

Laravel 13.25 replaces concurrently with @laravel/multiplex, giving php artisan dev a proper terminal UI with...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 11 Aug 2026     4 min read  

  Read    

 ](https://msaied.com/articles/laravel-terminal-ui-for-the-artisan-dev-command-laravel-1325) [ ![NightOwl: Laravel Monitoring With Flat Pricing and Your Own PostgreSQL Storage](https://cdn.msaied.com/538/60582948c0339b19e872f4f3c03171f2.png) Laravel Monitoring PostgreSQL 

### NightOwl: Laravel Monitoring With Flat Pricing and Your Own PostgreSQL Storage

NightOwl redirects Laravel Nightwatch telemetry into a PostgreSQL database you own, replacing per-event billin...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 11 Aug 2026     3 min read  

  Read    

 ](https://msaied.com/articles/nightowl-laravel-monitoring-with-flat-pricing-and-your-own-postgresql-storage) 

   [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com) [  ](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
