{"slug": "multistack-lightweight-tui-for-orchestrating-coding-agents", "title": "Multistack – Lightweight TUI for orchestrating coding agents", "summary": "Multistack, a lightweight terminal UI for orchestrating multiple zerostack coding agents, has been released as an open-source competitor to Conductor. It allows users to spawn, monitor, rename, and kill parallel agents with live status tracking and TTY access.", "body_md": "Run multiple [zerostack](https://gi-dellav.github.io/zerostack/) agents side by side in your terminal, allowing to spawn, watch, rename, kill all underlying processes.\n\nMultistack is designed to be a native, lightweight and open-soruce competitor to [Conductor](https://www.conductor.build).\n\n**Spawn parallel agents**: each one gets its own PTY, running`zerostack --parallel`\n\nunder the hood**Live status tracking**: see at a glance who's working`[~]`\n\n, done`[✓]`\n\n, dead`[X]`\n\n, or waiting`[ ]`\n\n, 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`\n\n/`stop`\n\nsignals from zerostack via Unix sockets, so timers and indicators stay accurate even across headless loop iterations\n\n```\nbrew tap gi-dellav/tap\nbrew trust gi-dellav/tap   # required for Homebrew 6.0.0+\nbrew install multistack    # zerostack installed automatically\ncurl -fsSL https://raw.githubusercontent.com/gi-dellav/multistack/main/install.sh | bash\ncargo install multistack\n```\n\nYou need [zerostack](https://gi-dellav.github.io/zerostack/) on your PATH, plus a recent Rust toolchain.\n\n| Key | Action |\n|---|---|\n`n` |\nSpawn new agent — prompts for a name, creates a git worktree |\n`N` |\nSpawn new agent in parallel mode — no prompt, jumps straight to TTY |\n`m` |\nSpawn bare agent — no worktree, no `--parallel` , jumps to TTY |\n`p` |\nAdd project — opens directory picker |\n`l` |\nRemove project and all its agents |\n`h` |\nOpen `lazygit` in the project (or agent worktree) directory |\n`s` |\nOpen `$SHELL` in the project (or agent worktree) directory |\n`r` |\nRename selected agent |\n`d` |\nDelete (kill) selected agent |\n`Enter` |\nDrop into the selected agent's TTY |\n`↑` / `↓` |\nMove selection |\n`PageUp` / `PageDown` |\nJump to previous / next project header |\n`q` |\nQuit |\n`Esc` |\nQuit (press twice if agents have git conflicts) |\n\n| Key | Action |\n|---|---|\n`Esc` |\nReturn to agent list |\nAll other keys |\nForwarded to the underlying process |\n\n| Key | Action |\n|---|---|\n`Enter` |\nConfirm |\n`Esc` |\nCancel |\n`Backspace` |\nDelete last character |\nPrintable chars |\nAppend to input |\n\n| Key | Action |\n|---|---|\n`Enter` |\nAdd selected directory as a project |\n`Esc` |\nCancel, return to agent list |\n`/` |\nStart filtering directories (type to narrow, `Esc` to clear) |\nAll other keys |\nNavigate the file tree |\n\n**Linux/BSD/macOS**(uses Unix domain sockets and PTYs)** zerostack v1.5+**built with the`status-signals`\n\nfeature (default from v1.5)- Rust 1.85+ (2024 edition)\n\nGPL-3.0-only", "url": "https://wpnews.pro/news/multistack-lightweight-tui-for-orchestrating-coding-agents", "canonical_source": "https://github.com/gi-dellav/multistack", "published_at": "2026-06-14 17:13:47+00:00", "updated_at": "2026-06-14 17:42:08.094674+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["Multistack", "zerostack", "Conductor", "Homebrew", "Rust"], "alternates": {"html": "https://wpnews.pro/news/multistack-lightweight-tui-for-orchestrating-coding-agents", "markdown": "https://wpnews.pro/news/multistack-lightweight-tui-for-orchestrating-coding-agents.md", "text": "https://wpnews.pro/news/multistack-lightweight-tui-for-orchestrating-coding-agents.txt", "jsonld": "https://wpnews.pro/news/multistack-lightweight-tui-for-orchestrating-coding-agents.jsonld"}}