> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Multiplex — een TUI om lokale ontwikkelprocessen samen te beheren

> Een eerste verkenning van laravel/multiplex. We leggen de terminal-UI uit die php artisan dev in Laravel 13 gebruikt, met tabweergave, zoeken en automatisch herstarten van meerdere processen.

## Inleiding

[`laravel/multiplex`](https://github.com/laravel/multiplex) is een terminal-UI (TUI) om meerdere commando's tegelijk uit te voeren. Het wordt gebruikt door `php artisan dev` in Laravel 13, waarmee je processen die je nodig hebt voor lokale ontwikkeling — zoals de PHP-ontwikkelserver, queue workers, logmonitoring en Vite — in één terminal kunt beheren.

Je kunt de output van elk proces per tab bekijken, en zoeken en scrollen door de output wordt ook ondersteund. Bij het afsluiten wordt de output van elk proces teruggeschreven naar de normale scrollback van je terminal, zodat je de logs ook na het sluiten van de TUI kunt bekijken.

## Installatie en direct uitvoeren

In een Laravel-applicatie regelt `php artisan dev` de benodigde configuratie, dus normaal gesproken hoef je Multiplex niet zelf te installeren. Wil je het standalone gebruiken, zorg dan voor Node.js 22.13 of nieuwer en installeer het via npm.

```bash theme={null}
npm install -g @laravel/multiplex
```

Commando's geef je door in het formaat `label,command`.

```bash theme={null}
multiplex 'server,php artisan serve' 'queue,php artisan queue:listen' 'vite,npm run dev'
```

## TUI- en inline-modus

Als de standaardinvoer en standaarduitvoer een TTY zijn, start de TUI met tabs. Met `s` schakel je naar streamweergave, met `/` doorzoek je de output en met `r` herstart je het geselecteerde proces. Met `q` sluit je af.

In CI of bij pipes zonder TTY schakelt Multiplex automatisch over naar de inline-modus. Elke regel krijgt het label van het proces en de output wordt getoond in volgorde van binnenkomst. Wil je de inline-modus expliciet gebruiken, geef dan `-i` op.

```bash theme={null}
multiplex -i 'build,npm run build' 'test,npm test'
```

In de inline-modus stopt de uitvoering zodra het laatste proces eindigt, en wordt een mislukt commando weerspiegeld in de exitcode. Wil je de resultaten in JSON-formaat verwerken, gebruik dan `--json`.

```bash theme={null}
multiplex --json 'build,npm run build' 'test,npm test'
```

## Automatisch herstarten en afsluitgedrag

Gecrashte processen worden na één seconde wachten maximaal vijf keer automatisch herstart. Processen die binnen één seconde na de start eindigen, worden niet opnieuw geprobeerd, omdat ze mogelijk helemaal niet konden starten — bijvoorbeeld door een ontbrekend uitvoerbaar bestand of een poortconflict. Voor commando's die je maar één keer uitvoert, zoals builds of migraties, geef je `--no-restart` op.

```bash theme={null}
multiplex --no-restart 'build,npm run build'
```

Multiplex beëindigt bij het afsluiten of bij ontvangst van een signaal de procesgroep van de kindprocessen. Zo voorkom je dat alleen de ontwikkelserver achterblijft en een poort bezet houdt, en kun je meerdere processen in één keer stoppen.

## Aandachtspunten

Kindprocessen krijgen geen standaardinvoer doorgegeven. Daarom kun je commando's die invoer vereisen, zoals `php artisan tinker` of bevestigingsprompts bij migraties, niet vanuit Multiplex uitvoeren. Voer interactieve commando's uit in een aparte terminal.

Multiplex biedt ook een programmatische API, maar commando's worden uitgevoerd met `sh -c`. Verwerk geen onbetrouwbare waarden — zoals configuratiebestanden of requests — in de commandostring.

## Referenties

* [Officiële Laravel-documentatie: Artisan - The Dev Command](https://laravel.com/docs/13.x/artisan#the-dev-command)
* [laravel/multiplex README](https://github.com/laravel/multiplex)


## Related topics

- [Databasemigraties](/nl/migrations.md)
- [Versiecompatibiliteit van packages beheren](/nl/advanced/package-versioning.md)
- [Artisan-console](/nl/artisan.md)
- [Foutafhandeling](/nl/error-handling.md)
- [Laravel-updates van augustus 2026](/nl/blog/changelog/202608.md)
