> ## 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 – TUI zur Bündelung lokaler Entwicklungsprozesse

> Erste Analyse von laravel/multiplex. Vorgestellt wird die Terminal-UI hinter Laravel 13s php artisan dev, die mehrere Prozesse in Tabs anzeigt, durchsuchbar macht und automatisch neu startet.

## Einleitung

[`laravel/multiplex`](https://github.com/laravel/multiplex) ist eine Terminal-UI (TUI) für das gleichzeitige Ausführen mehrerer Kommandos. Ab Laravel 13 nutzt `php artisan dev` Multiplex, um den PHP-Entwicklungsserver, Queue-Worker, Log-Überwachung, Vite und andere für die lokale Entwicklung nötige Prozesse in einem einzigen Terminal zu verwalten.

Für jeden Prozess steht ein eigener Tab zur Anzeige der Ausgabe bereit; die Ausgabe lässt sich durchsuchen und scrollen. Beim Beenden wird die Ausgabe der einzelnen Prozesse in den regulären Scrollback des Terminals zurückgeschrieben, sodass die Logs auch nach dem Verlassen der TUI verfügbar bleiben.

## Installation und direkte Ausführung

In Laravel-Anwendungen übernimmt `php artisan dev` die nötige Konfiguration, weshalb Multiplex in der Regel nicht separat installiert werden muss. Für den eigenständigen Einsatz benötigen Sie Node.js 22.13 oder neuer und installieren das Paket über npm.

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

Kommandos werden im Format `label,command` übergeben.

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

## TUI- und Inline-Modus

Sind Standard-Ein- und -Ausgabe an ein TTY gebunden, startet die tab-basierte TUI. Mit `s` wechseln Sie in die Stream-Anzeige, mit `/` durchsuchen Sie die Ausgabe und mit `r` starten Sie den ausgewählten Prozess neu. Mit `q` beenden Sie das Programm.

Ohne TTY (etwa in CI oder Pipe-Verarbeitung) wechselt Multiplex automatisch in den Inline-Modus. Jede Zeile wird mit dem Prozess-Label versehen und in der Reihenfolge des Eintreffens ausgegeben. Um den Inline-Modus explizit zu erzwingen, verwenden Sie `-i`.

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

Im Inline-Modus endet die Ausführung mit dem letzten Prozess, und Fehlschläge werden in den Exit-Code übernommen. Um die Verarbeitungsergebnisse im JSON-Format zu erhalten, verwenden Sie `--json`.

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

## Automatischer Neustart und Beenden

Abgestürzte Prozesse werden nach einer Sekunde Wartezeit bis zu fünfmal automatisch neu gestartet. Prozesse, die innerhalb einer Sekunde nach dem Start enden, werden nicht erneut versucht, da dies typischerweise auf eine fehlende ausführbare Datei oder einen Port-Konflikt hindeutet – der Prozess ist also von vornherein nicht startfähig. Für einmalig auszuführende Kommandos wie Builds oder Migrationen verwenden Sie `--no-restart`.

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

Beim Beenden oder Empfangen von Signalen terminiert Multiplex die Prozessgruppe der Kindprozesse. So lässt sich verhindern, dass allein der Entwicklungsserver zurückbleibt und den Port belegt – mehrere Prozesse lassen sich zusammen stoppen.

## Hinweise

An die Kindprozesse wird kein Standard-Input weitergereicht. Kommandos, die Eingaben verlangen – etwa `php artisan tinker` oder Bestätigungsprompts bei Migrationen – lassen sich daher nicht aus Multiplex heraus ausführen. Führen Sie interaktive Kommandos in einem separaten Terminal aus.

Multiplex bietet auch eine Programm-API; Kommandos werden dabei jedoch über `sh -c` ausgeführt. Betten Sie keine nicht vertrauenswürdigen Werte aus Konfigurationsdateien oder Requests in die Kommandozeichenkette ein.

## Weiterführende Ressourcen

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


## Related topics

- [Laravel MCP](/de/mcp.md)
- [Laravel-Updates Juni 2026](/de/blog/changelog/202606.md)
- [Upgrade von Laravel 8 auf 9](/de/blog/upgrade-8-to-9.md)
- [Artisan-Konsole](/de/artisan.md)
- [Laravel Console Starter](/de/packages/laravel-console-starter/index.md)
