I keep three or four coding agents going and the thing that eats my time is not the coding. It is not knowing which one finished, which one is waiting on a permission prompt, and what any of them changed, without tabbing through every terminal.
Overview
Terminal UI to manage AI coding agent sessions in tmux
The fastest workflow for every AI coding agent. Live status, quick prompts, worktrees, and diff review from one tmux TUI.
From the maintainer
Install with brew install yoanwai/tap/agent-manager, run agent-manager, press space on a group row, type a task, and hit enter. A new agent starts on that prompt. When one is blocked, space on its row sends a reply without attaching. ctrl+r opens the full-file diff; comment a line and C sends the notes back to the agent.
It sits on tmux instead of replacing it. Each session is the CLI you already installed, with your login and config. The distinctive loop is in-terminal: space answers a blocked agent without attaching, and ctrl+r lets you comment a line in a full-file diff so the notes go back to that agent's pane.
Cost tracking, mouse navigation, and agents that can talk to each other.
Latest Release
Run every AI coding agent from one terminal. Claude Code, Codex, OpenCode, Grok, Gemini CLI, and Pi run side by side, each in its own tmux session, with live status, a project tree, quick prompts, and full-file diff review. Runs on macOS and Linux, and on Windows inside WSL2. See it running.
v0.36.0
Every key the manager answers to is now yours to set: [keybindings.session] and [keybindings.list] in config.toml, or the keybindings picker under Settings, where r puts the shipped keys back. Focus mode keeps up with a streaming pane and lets Left leave Command Code and pi again when they hide the terminal cursor, a notification click lands on the session that sent it on macOS, Linux and WSL, and an agent can file a bug or a feature request on this repo from inside its session.
Highlights
- Every key is configurable:
[keybindings.session]and[keybindings.list]in config.toml, or a picker in Settings. - Typing stays responsive while a focused pane streams, and a lost preview client reopens on the next keystroke.
- Left leaves focus on Command Code and pi when they hide the cursor, and a compact agent surface sits at the bottom.
- A notification click reaches the session that sent it: the manager's own banner on macOS, the terminal raised on Linux.
- An agent files a bug or feature request on this repo from its session:
report_issueover MCP,issuein the CLI. - The setup dialog installs a missing CLI with
ior copies it withc, and IME windows follow the painted caret.
Thank you
- @OkunaRei moved the terminal cursor onto the painted caret so IME windows land on the text (#406, @sunnor92's #266).
- @pandysp reported and fixed pi 0.85's spinner move (#443, #445), then let Left leave a pi that hides its cursor (#453).
- @pandysp also wrote the hidden-cursor coordinate fix that shipped inside #437.
- @fruch reported a rename that claimed success and changed nothing (#427); rename now says what it did (#434).
- @Michaelnogh reported the setup dialog gaps and the WSL2 interop PATH false positive (#428, #429, #430), fixed in #435.
What's Changed
- feat(keys): configurable list keys and a reset to defaults by @YoanWai in https://github.com/YoanWai/agent-manager/pull/450
- feat(keys): configurable session key bindings by @YoanWai in https://github.com/YoanWai/agent-manager/pull/425
- feat(mcp): add report_issue tool and issue/feature subcommands by @YoanWai in https://github.com/YoanWai/agent-manager/pull/433
- feat(ui): install or copy the missing CLI from the setup dialog by @YoanWai in https://github.com/YoanWai/agent-manager/pull/435
- fix(ui): keep typing responsive while the focused pane streams by @YoanWai in https://github.com/YoanWai/agent-manager/pull/451
- fix(ui): align compact panes and restore arrow exit by @YoanWai in https://github.com/YoanWai/agent-manager/pull/437
- fix(ui): let Left leave focus when pi hides its cursor by @pandysp in https://github.com/YoanWai/agent-manager/pull/453
- fix(status): read pi's spinner inside the composer border by @pandysp in https://github.com/YoanWai/agent-manager/pull/445
- fix(notify): own the banner on every desktop so a click reaches the manager by @YoanWai in https://github.com/YoanWai/agent-manager/pull/436
- fix(ui): align input methods with software cursors by @OkunaRei in https://github.com/YoanWai/agent-manager/pull/406
- fix(rename): report what the manager did with a self-rename by @YoanWai in https://github.com/YoanWai/agent-manager/pull/434
- fix(tui): keep a revived pane at the manager's preview size by @YoanWai in https://github.com/YoanWai/agent-manager/pull/452
New Contributors
- @pandysp made their first contribution in https://github.com/YoanWai/agent-manager/pull/445
Full Changelog: https://github.com/YoanWai/agent-manager/compare/v0.35.0...v0.36.0
Install
# macOS / Linux
brew install yoanwai/tap/agent-manager
curl -fsSL https://raw.githubusercontent.com/YoanWai/agent-manager/main/install.sh | sh
mise use -g ubi:YoanWai/agent-manager
go install github.com/YoanWai/agent-manager@latest
# Arch Linux
yay -S agent-manager-bin
Prebuilt macOS and Linux binaries are attached below. Windows runs it inside WSL2.
Get involved
Discussions for questions and setups, issues for bugs and ideas, CONTRIBUTING.md to send a patch.
Discussions