Skip to content

Repository files navigation

banner

Multistack

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.

What it does

  • Spawn parallel agents: each one gets its own PTY, running zerostack --parallel under 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/stop signals from zerostack via Unix sockets, so timers and indicators stay accurate even across headless loop iterations

Install

Homebrew (recommended)

brew tap gi-dellav/tap
brew trust gi-dellav/tap   # required for Homebrew 6.0.0+
brew install multistack    # zerostack installed automatically

Script

curl -fsSL https://raw.githubusercontent.com/gi-dellav/multistack/main/install.sh | bash

Cargo

cargo install multistack

You need zerostack on your PATH, plus a recent Rust toolchain.

Keybindings

Agent list (normal mode)

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)

TTY view (agent / lazygit / shell)

Key Action
Esc Return to agent list
All other keys Forwarded to the underlying process

Prompt (new agent / rename / new project)

Key Action
Enter Confirm
Esc Cancel
Backspace Delete last character
Printable chars Append to input

Directory picker

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

Requirements

  • Linux/BSD/macOS (uses Unix domain sockets and PTYs)
  • zerostack v1.5+ built with the status-signals feature (default from v1.5)
  • Rust 1.85+ (2024 edition)

License

GPL-3.0-only

About

Open source lightweight TUI for parallel agent management

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages