Exclude Vendor &amp; Default Commands in php artisan dev | 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)    Exclude Vendor and Default Commands in php artisan dev (Laravel 13.30)        On this page       1. [  Taking Control of php artisan dev in Laravel 13.30 ](#taking-control-of-codephp-artisan-devcode-in-laravel-1330)
2. [  New Methods: withoutVendorCommands() and withoutDefaultCommands() ](#new-methods-codewithoutvendorcommandscode-and-codewithoutdefaultcommandscode)
3. [  Granular Control with only() and except() ](#granular-control-with-codeonlycode-and-codeexceptcode)
4. [  What Are the Default Commands? ](#what-are-the-default-commands)
5. [  Inspecting the Process List with dev:list ](#inspecting-the-process-list-with-codedevlistcode)
6. [  Key Takeaways ](#key-takeaways)

  ![Exclude Vendor and Default Commands in php artisan dev (Laravel 13.30)](https://cdn.msaied.com/631/ba9b50ef4b7355a32c378f404d978b90.png)

 [  Laravel ](https://msaied.com/articles?category=laravel) [  Tips &amp; Tricks ](https://msaied.com/articles?category=tips-tricks)  #Laravel   #Artisan   #Laravel 13.30   #DevCommands   #PHP  

 Exclude Vendor and Default Commands in php artisan dev (Laravel 13.30) 
========================================================================

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

       Table of contents

1. [  01   Taking Control of php artisan dev in Laravel 13.30  ](#taking-control-of-codephp-artisan-devcode-in-laravel-1330)
2. [  02   New Methods: withoutVendorCommands() and withoutDefaultCommands()  ](#new-methods-codewithoutvendorcommandscode-and-codewithoutdefaultcommandscode)
3. [  03   Granular Control with only() and except()  ](#granular-control-with-codeonlycode-and-codeexceptcode)
4. [  04   What Are the Default Commands?  ](#what-are-the-default-commands)
5. [  05   Inspecting the Process List with dev:list  ](#inspecting-the-process-list-with-codedevlistcode)
6. [  06   Key Takeaways  ](#key-takeaways)

 Taking Control of `php artisan dev` in Laravel 13.30
----------------------------------------------------

The `php artisan dev` command is a convenient way to spin up all your development processes in one shot — the local server, queue worker, log watcher, and Vite. But as your project grows, you may not want every vendor package or framework default injecting its own process into that list.

Laravel 13.30 ships two new methods on the `DevCommands` class that let you opt out of those automatic registrations entirely.

New Methods: `withoutVendorCommands()` and `withoutDefaultCommands()`
---------------------------------------------------------------------

```php
use Illuminate\Foundation\DevCommands;

DevCommands::withoutVendorCommands();
DevCommands::withoutDefaultCommands();

```

Calling both methods strips the process list down to nothing, leaving you free to define exactly what runs:

```php
namespace App\Providers;

use Illuminate\Foundation\DevCommands;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        DevCommands::withoutVendorCommands();
        DevCommands::withoutDefaultCommands();

        DevCommands::artisan('serve', 'server');
        DevCommands::artisan('queue:work --queue=notifications', 'queue:notifications');
        DevCommands::node('dev', 'vite');
    }
}

```

Granular Control with `only()` and `except()`
---------------------------------------------

If you want something in between — for example, keep all framework defaults but drop the log watcher, while still blocking vendor commands — you can combine the new methods with the existing `except()` helper:

```php
DevCommands::withoutVendorCommands();
DevCommands::except('logs');

```

What Are the Default Commands?
------------------------------

The framework registers four processes by default via `registerDefaults()`:

- **server** — `php artisan serve`
- **queue** — `php artisan queue:listen --tries=1 --timeout=0`
- **logs** — `php artisan pail --timeout=0` (only when `pcntl_fork()` is available)
- **vite** — `npm run dev` (only when a `package.json` exists)

Inspecting the Process List with `dev:list`
-------------------------------------------

Before committing to a configuration, use `php artisan dev:list` to see exactly what will run and where each entry was registered:

```typescript
php artisan dev:list

  server  php artisan serve ................................. Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
  queue   php artisan queue:listen --tries=1 --timeout=0 .... Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
  logs    php artisan pail --timeout=0 ...................... Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
  vite    npm run dev ....................................... Illuminate\Foundation\Providers\ArtisanServiceProvider@boot

```

Need machine-readable output? Add `--json`:

```bash
php artisan dev:list --json | jq

```

This is especially useful when feeding process metadata to AI agents or custom tooling.

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

- `DevCommands::withoutVendorCommands()` prevents third-party service providers from adding processes to `php artisan dev`.
- `DevCommands::withoutDefaultCommands()` removes the four framework-registered defaults.
- Use `except('name')` for surgical removal of a single default process.
- `php artisan dev:list` (with optional `--json`) shows the full resolved process list before you run it.
- Both methods were contributed by Jack Bayliss in PR #61344 and shipped in Laravel 13.30.

---

*Source: [Laravel News — Exclude Vendor and Default Commands in `php artisan dev`](https://laravel-news.com/artisan-dev-exclude-vendor-commands)*

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fexclude-vendor-and-default-commands-in-php-artisan-dev-laravel-1330&text=Exclude+Vendor+and+Default+Commands+in+php+artisan+dev+%28Laravel+13.30%29) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fexclude-vendor-and-default-commands-in-php-artisan-dev-laravel-1330) 

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

  3 questions  

     Q01  How do I stop vendor packages from adding processes to php artisan dev?        Call DevCommands::withoutVendorCommands() inside your AppServiceProvider boot method. This prevents any third-party service provider from registering its own processes with the dev command. 

      Q02  Can I keep some framework defaults while removing others?        Yes. Instead of calling withoutDefaultCommands(), use DevCommands::except('name') to remove a specific default process by name — for example, DevCommands::except('logs') removes only the log watcher while keeping server, queue, and vite. 

      Q03  How can I see which processes will run before executing php artisan dev?        Run php artisan dev:list to get a formatted table of all registered processes and their source. Add the --json flag for machine-readable output suitable for scripts or AI agents. 

  Continue reading

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

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

 [ ![Laravel August 2026 Product Updates: Framework, Cloud, and Forge](https://cdn.msaied.com/630/37bf960d82f877f3063ffe9d11fa3c7b.png) Laravel Laravel Cloud Laravel Forge 

### Laravel August 2026 Product Updates: Framework, Cloud, and Forge

Laravel's August 2026 updates bring read-through filesystems, Turbopuffer semantic search in Scout, rebuilt ma...

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

 3 Sep 2026     3 min read  

  Read    

 ](https://msaied.com/articles/laravel-august-2026-product-updates-framework-cloud-and-forge) [ ![Laravel queue:work Now Prints Why the Worker Stopped](https://cdn.msaied.com/629/bed93940d17b932032d64cee2e32d333.png) Laravel Queue Laravel 13.30 

### Laravel queue:work Now Prints Why the Worker Stopped

Laravel 13.30 adds a stop-reason line to queue:work output. Workers now print why they exited—memory limit, re...

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

 3 Sep 2026     3 min read  

  Read    

 ](https://msaied.com/articles/laravel-queuework-now-prints-why-the-worker-stopped) [ ![The Laracon Archive: 626 Talks, 287 Speakers, and 14 Years of Laravel History](https://cdn.msaied.com/628/13d8d0cef5fb083813df134cc253bb1b.png) laracon laravel community 

### The Laracon Archive: 626 Talks, 287 Speakers, and 14 Years of Laravel History

The Laracon Archive is a community-built, searchable index of every recorded Laracon talk — 626 talks from 287...

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

 3 Sep 2026     3 min read  

  Read    

 ](https://msaied.com/articles/the-laracon-archive-626-talks-287-speakers-and-14-years-of-laravel-history) 

   [  ![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)
