agent-manager

Go · tmux · MIT · macOS and Linux

Run every AI coding agent from one terminal.

Everything is one keypress. Start an agent, answer the one that is blocked, open its diff. Never leave the list.

$ brew install yoanwai/tap/agent-manager
Fig. 1the session list
The agent-manager sessions view: five agent sessions grouped under backend, frontend and infra, each with a colour-coded live status, a preview of the selected agent's pane on the right, and machine gauges at the bottom left.
Five sessions, three projects. One is blocked on a permission prompt, and you can see that without opening anything.
01

Fast is the whole point

Every action is a key on the row you are already looking at, and nothing asks you for what the machine can work out itself.

space Prompt, in place

Type, press enter, it lands in that agent's pane. The bar stays open, so answering three agents is three sentences.

space New agent, same bar

On a group row the same key starts a new agent there, prompt embedded and directory already set.

auto It names itself

A session starts as claude-a1b2 and renames itself once the agent knows what the work is.


02

Six states, and they come from the agent

Claude Code reports its own hook events to a per-session status file, so the colour is a first-hand signal rather than a guess. Pane rules cover every other CLI. How that works.

workingMid-turn. Editing, running tests, thinking.
waitingBlocked on you. A permission prompt or a question.
finishedTurn complete, nothing pending.
erroredThe agent reported a failure.
idleAlive at a prompt with nothing to do.
deadSession ended. The row and its history stay.

03

What the prompt bar can carry

It is one line at the bottom of the sidebar, and it does more than send text.

  • tabPick the tool. Cycle claude, opencode, codex, grok, or anything you configured.
  • ctrl+vPaste a screenshot. A clipboard image becomes a chip, and sends as a file path.
  • ↑↓Retarget mid-sentence. The bar follows the cursor while it stays open.
  • /slashCommands pass through to the agent intact.
Fig. 2space · quick prompt
Animated demo: moving down the session list, opening the quick prompt bar with space, typing a follow-up and sending it into the selected agent's pane.

04

Review the whole file, then send the notes back

The part nothing else does without putting you in a browser. ctrl+r opens the session's repo full screen: changed files left, the entire file right, so an edit reads in context instead of as a hunk.

Fig. 3ctrl+r · review
Animated demo of the review screen: scrolling a changed Go file side by side with the original, then jumping to the next changed file.

c then C Line comments

Note a line. C flattens every note into one review prompt and drops it in the agent's pane.

s Four scopes

Uncommitted, versus the merge target, the last commit, or staged.

u Split or unified

Toggle in place, cursor stays on the same source line. All review keys.


05

Sessions outlive the manager, and come back

Every agent is a real tmux session. Quit the TUI and they keep working.

x Kill without losing the row

The tmux session ends, the row stays, marked dead, name and conversation id intact.

v Revive the conversation

Relaunches on that exact conversation through the tool's own resume command.

g A tree, not a list

Groups nest as deep as you want, and a folded one still shows its per-status counts. More.


06

The agent drives the manager

Some things only the agent knows. An MCP server ships in the same binary and registers itself into every session, so those become native tools. How registration works.

  • renameNames its own session once it knows what the work is.
  • review_repoDeclares the repo or worktree it moved into, so review opens on the right one.
  • review_baseDeclares the branch the work merges into.
  • review_modeSets the diff scope, staged just before it commits.

07

Any CLI, nine palettes, no config required

Claude Code, OpenCode, Codex and Grok Build get live status out of the box. Anything else runs as a session immediately, and earns the same status once you describe it in five lines of TOML.

  • tomlTeach it a new tool. A [tools.<name>] block buys live status, revive and prompt handling. The block.
  • sNine themes, applied live as you step the picker, terminal background included.
  • /Search the tree and filter rows as you type.
Fig. 4s · settings
The settings screen with the theme picker and a strip of palette swatches beside the theme name.

Not here yet: worktree creation, cost tracking, mouse navigation, agents that talk to each other. If one of those is what you came for, the comparison says which project does it.