Run multiple zerostack agents side by side in your terminal, allowing to spawn, watch, rename, kill all underlying processes.
Multistack is designed to be a native, lightweight and open-soruce competitor to Conductor.
Spawn parallel agents: each one gets its own PTY, runningzerostack --parallel
under the hoodLive status tracking: see at a glance who's working[~]
, done[✓]
, dead[X]
, or waiting[ ]
, with per-agent timersDrop into any agent: hit Enter on a process to see its full terminal output, keystrokes pass straight through** Status signal support**: multistack listens forstart
/stop
signals from zerostack via Unix sockets, so timers and indicators stay accurate even across headless loop iterations
brew tap gi-dellav/tap
brew trust gi-dellav/tap # required for Homebrew 6.0.0+
brew install multistack # zerostack installed automatically
curl -fsSL https://raw.githubusercontent.com/gi-dellav/multistack/main/install.sh | bash
cargo install multistack
You need zerostack on your PATH, plus a recent Rust toolchain.
| Key | Action |
|---|---|
n |
|
| Spawn new agent — prompts for a name, creates a git worktree | |
N |
|
| Spawn new agent in parallel mode — no prompt, jumps straight to TTY | |
m |
|
Spawn bare agent — no worktree, no --parallel , jumps to TTY |
|
p |
|
| Add project — opens directory picker | |
l |
|
| Remove project and all its agents | |
h |
|
Open lazygit in the project (or agent worktree) directory |
|
s |
|
Open $SHELL in the project (or agent worktree) directory |
|
r |
|
| Rename selected agent | |
d |
|
| Delete (kill) selected agent | |
Enter |
|
| Drop into the selected agent's TTY | |
↑ / ↓ |
|
| Move selection | |
PageUp / PageDown |
|
| Jump to previous / next project header | |
q |
|
| Quit | |
Esc |
|
| Quit (press twice if agents have git conflicts) |
| Key | Action |
|---|---|
Esc |
|
| Return to agent list | |
| All other keys | |
| Forwarded to the underlying process |
| Key | Action |
|---|---|
Enter |
|
| Confirm | |
Esc |
|
| Cancel | |
Backspace |
|
| Delete last character | |
| Printable chars | |
| Append to input |
| Key | Action |
|---|---|
Enter |
|
| Add selected directory as a project | |
Esc |
|
| Cancel, return to agent list | |
/ |
|
Start filtering directories (type to narrow, Esc to clear) |
|
| All other keys | |
| Navigate the file tree |
Linux/BSD/macOS(uses Unix domain sockets and PTYs)** zerostack v1.5+**built with thestatus-signals
feature (default from v1.5)- Rust 1.85+ (2024 edition)
GPL-3.0-only