v0.30.0
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.
Terminals stop being a flat list. A shell you open on a session hangs under that session, takes its name (terminal-review-done, not terminal-0ab5), and follows it: kill, archive, restore and delete take a session's terminals with it, m moves one onto another agent or back out to a group, and K / J reorder it among its siblings. Agents open and close their own terminals over MCP with create_terminal and close_terminal, which is how a session you are meant to watch (an SSH login, a server, a tail) gets opened where you can see it, attach to it and take it over.
The rest of the release is the fleet behaving. Restore resumes the agent instead of handing back a dead row, archive kills the pane it froze, a session stays working while its background shells run, and usage or rate limits read as errored rather than idle. The in-session editor key moved from ctrl+o to F3, because ctrl+o belongs to the agent in the pane. A new session holds a placeholder name until it renames itself, the preview shows a loader while it starts, --help prints without booting the TUI, the review list can fold non-code files away, and Settings opens the bug and feature forms on GitHub.
Thanks
- @roshaans designed the terminal naming in #328 and is the author of the commit that landed it in #332: a shell named after the session it belongs to, counting up when a session has more than one.
- @OkunaRei aligned focused-pane selection with display cells in #312, so a drag copies the whole grapheme cluster it covered, wide CJK glyphs, emoji and combining marks included.
- @sunnor92 reported both escapes this release fixes:
$BROWSERignored when opening links on headless and remote hosts (#267), and no way out of a full-screen attach when your tmux prefix isC-\(#265). - @andrelago13 wrote the editor key in #258, the feature this release moves to
F3so agents keepctrl+ofor themselves. That collision is also why #326 exists: every binding is going to be yours to set, so the next key that clashes with your agent is one you can move yourself.
What's Changed
- docs(agents): say how a summary reaches the release notes by @YoanWai in #301
- fix(ci): stabilize notification and badge jobs by @YoanWai in #304
- fix(ci): publish generated assets off main by @YoanWai in #305
- chore(review): apply CodeRabbit setup checklist by @YoanWai in #306
- feat(ui): kill the session when it is archived by @YoanWai in #307
- fix(status): keep a session working while its background shells run by @YoanWai in #309
- fix(tmux): show usable attach exits by @YoanWai in #302
- feat(ui): resume the agent when a session is restored by @YoanWai in #311
- fix(ui): honor BROWSER when opening links by @YoanWai in #303
- fix(ui): collapse a held T into one shell however slow the spawn is by @YoanWai in #313
- fix(ui): expand a pane row's tabs into the cells it painted by @YoanWai in #316
- fix(status): treat usage and rate limits as errored by @YoanWai in #318
- feat(review): toggle non-code files out of the review file list by @YoanWai in #317
- feat(ui): open bug and feature GitHub forms from settings by @YoanWai in #319
- fix(ui): align focused-pane selection with display cells by @OkunaRei in #312
- feat(cli): print help without starting the TUI by @YoanWai in #322
- feat(ui): show a loader in the preview while a session starts by @YoanWai in #314
- feat(ui): hold a placeholder name until a new agent renames itself by @YoanWai in #315
- docs(land-pr): wait for CodeRabbit approval before merge by @YoanWai in #321
- docs: require visual evidence in pull requests by @YoanWai in #330
- fix(tmux): move the in-session editor key to F3 by @YoanWai in #331
- feat: nest terminals under the agent they belong to by @YoanWai in #323
- feat: name a terminal after the session it hangs under by @YoanWai in #332
- chore(badges): list roshaans in the contributor strip by @YoanWai in #333
New Contributors
Full Changelog: v0.29.1...v0.30.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-binPrebuilt 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.