Back to Catalog
YoanWai GitHub avatar

agent-manager

Terminal UI to manage AI coding agent sessions in tmux

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

Origin story

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.

First workflow

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.

Design choice

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.

Roadmap

Cost tracking, mouse navigation, and agents that can talk to each other.

Latest Release

v0.36.0
Released: Sep 6, 2026

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_issue over MCP, issue in the CLI.
  • The setup dialog installs a missing CLI with i or copies it with c, 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

New Contributors

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

0 comments
Loading comments...
Alvin By Alvin