Combined output
Follow all services in one readable, color-prefixed stream instead of juggling terminal windows.
Web, workers, CSS, and more
See all process output together, then attach to any service for an interactive debugger or REPL.
__ _ ___ _ __ | |_ _ _ / _` |/ _ \ _____| '_ \| __| | | | | (_| | (_) |_____| |_) | |_| |_| | \__, |\___/ | .__/ \__|\__, | |___/ |_| |___/ Starting all process(es):
Select a process (↑/↓ navigate, Enter select, Esc cancel):
Follow all services in one readable, color-prefixed stream instead of juggling terminal windows.
Each command runs in its own pseudo-terminal, preserving colors, readline, and interactive behavior.
Remain in the combined view, then attach to one process only when you need direct interaction.
ctrl+]
toggles attachment
Run short setup or validation commands before services start by prefixing entries with an underscore.
# Install
brew tap lcmen/extra
brew install go-pty
# Run
go-pty -f Procfile
# Install
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
URL=https://github.com/lcmen/go-pty/releases/latest/download
mkdir -p ~/.local/bin
curl -fsSL $URL/go-pty-linux-$ARCH -o ~/.local/bin/go-pty
chmod +x ~/.local/bin/go-pty
# Run
go-pty -f Procfile
# Procfile
_: bin/rails assets:precompile
_db: bin/rails db:migrate
web: bin/rails server
worker: bundle exec sidekiq
| Mode | Key | Action |
|---|---|---|
| Normal mode | ||
| Enter | Insert a visual separator | |
| ctrl + ] | Open process selection | |
| ctrl + c | Shut down and exit | |
| ctrl + r | Rerun preflights and restart all processes | |
| Dialog mode | ||
| ↑ ↓ | Navigate the process list | |
| Enter | Attach to the selected process | |
| Esc | Cancel | |
| Attached mode | ||
| ctrl + ] | Detach and return to combined output | |