c then C Line comments
Write a note on any line. C flattens every comment into a single review prompt and delivers it into that agent's pane, so it starts on your notes while you watch the diff update.
Go · tmux · MIT
Four agents running, and you are tabbing through terminals to find the one sitting on a permission prompt. agent-manager puts all of them in one list with a live status, so the stuck one announces itself.
brew install yoanwai/tap/agent-manager
Claude Code fires hook events as it works, and agent-manager installs hooks that report each one to a per-session status file. That is a first-hand signal, not an inference. Pane rules refine it and cover every other CLI, matching only the text after the newest turn marker so a finished turn quoting a spinner cannot fake a live one.
The point of a list is that you act from it, so the sidebar stays your home base.
The part no other agent multiplexer does. ctrl+r opens the session's repo full screen: changed files on the left, the entire file on the right, syntax highlighted with changed lines tinted, so an edit reads in context instead of as a hunk. The diff refreshes while the agent keeps working.
Write a note on any line. C flattens every comment into a single review prompt and delivers it into that agent's pane, so it starts on your notes while you watch the diff update.
Cycle uncommitted, versus the merge target, the last commit, or staged. Useful right before committing.
Toggle the layout in place, keeping the cursor on the same source line.
Choose the repo when a directory holds several, the branch from the repo's worktrees, and the target branch the diff compares against.
Move between changes, or between files with J and K. space marks a file reviewed.
Linked worktrees are discovered automatically and ordered dirty-first, then by most recent commit, so review opens on the one you are working in.
Every agent is a real tmux session with its own directory, command and environment. Quit the TUI and they keep running. Close the laptop lid and they are still there.
Ends the tmux session to get the RAM back. The row stays in the tree, marked dead, with its name, group and conversation id intact.
Relaunches under the old id and resumes that exact conversation through the tool's own resume command: claude --resume, codex resume, opencode --session, grok --resume. V revives every dead session at once.
Groups are paths like backend/api/auth, nested as deep as you want, and sessions live at any node. A folded group still shows its per-status counts, so it tells you whether anything under it needs you.
Reorder sessions among their siblings or whole groups among theirs. The order persists across restarts, along with everything else, in a SQLite file next to the config.
Archive a session, or a group and everything under it, then bring it back later. Restoring un-archives the ancestors it needs.
Inside a managed session, ctrl+q detaches to the manager and ctrl+r flags a review on the way out. Both bindings are scoped to managed sessions, so they pass straight through everywhere else.
Some things only the agent knows: what the session is really about, which repo it moved into, what branch the work will merge into. Rather than scrape that out of the pane, the manager ships an MCP server in the same binary and registers it into every session it spawns, so those become native tools.
Registration is per tool and automatic: claude gets a generated
--mcp-config, codex gets -c mcp_servers… overrides,
opencode gets an OPENCODE_CONFIG merge file, and grok gets a one-time
grok mcp add --scope user. Any other CLI opts in with
mcp = "<style>". No prompt injection, no per-project setup.
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 the moment you describe it in TOML.
[tools.<name>] block with a command and a few status rules gives any agent CLI live status, revive behaviour and prompt handling.↑ vX.Y.Z available in the header.
Everything is one key from the list. ? shows this in the app.