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, running
zerostack --parallelunder the hood - Live status tracking: see at a glance who's working
[~], done[✓], dead[X], or waiting[ ], with per-agent timers - Drop into any agent: hit Enter on a process to see its full terminal output, keystrokes pass straight through
- Status signal support: multistack listens for
start/stopsignals 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 automaticallycurl -fsSL https://raw.githubusercontent.com/gi-dellav/multistack/main/install.sh | bashcargo install multistackYou 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 the
status-signalsfeature (default from v1.5) - Rust 1.85+ (2024 edition)
GPL-3.0-only