how it works
Detection is scraping-only: agents are identified by walking each pane's process tree, state inferred from the visible screen and title. Nothing runs inside your agents.
Claude Code, Codex, Hermes, Oh My Pi, OpenCode, and Pi. Adding an agent is one small config file — no code.
A single daemon uses one persistent tmux control-mode connection. Prebuilt, verified binaries download automatically; Linux builds are statically linked.
macOS notifications via a signed Agenmux.app — click
one and your terminal jumps to the exact pane.
notify-send on Linux.
what's new
The sidebar lists every session, window and pane in tmux order, with agent status inline — jump to any of them, not just agents. Press . to toggle the agents-only list.
s opens a Settings view that adapts to narrow panes. Edits are validated, saved atomically and picked up live — a typo never takes a running sidebar down.
Create (cc/cs), rename (r) and delete (dd) sessions, windows and panes from the sidebar. Deletes confirm inline and never destroy a session implicitly.
Pane activity triggers fast updates through one persistent tmux connection, with periodic reconciliation for background sessions.
[display]
# defaults shown; set false for the agent-only, read-only sidebar
show_all_panes = true # or press `.` to toggle live
[tmux_management]
enabled = true # create/rename/delete from the sidebar
confirm_delete = true
install
Requirements: tmux and bash. curl and
tar enable the automatic native download; without them,
Cargo builds the engine when available. Release tarballs with
SHA256SUMS are on the
latest release.
use it
Add #{agenmux} anywhere in your status line for the compact
summary — e.g.
⣿1
⣾2
⣿1
for blocked/working/idle:
set -g status-right '#{agenmux} | %H:%M'
latest release
v0.8.5 2026-10-21 all releases →
# agenmux v0.8.5
## What's changed
v0.8.5 keeps the sidebar responsive when tmux stalls or a pane stops reading, stops config and regex errors from drawing over the live popup, and gives every overlay the same header.
### Responsiveness
- A tmux reply now waits at most 2 seconds. A stalled server costs one short pause instead of freezing the sidebar, and a late reply can no longer be matched to the wrong command ([#225](https://github.com/snirt/agenmux/pull/225), [#208](https://github.com/snirt/agenmux/issues/208)).
- Writes to sidebar panes no longer block. A pane that stops reading is dropped and redrawn in full on the next refresh ([#225](https://github.com/snirt/agenmux/pull/225)).
- The rows file is written only when its contents change, instead of on every animation frame ([#225](https://github.com/snirt/agenmux/pull/225)).
- Fixed a race that could make the daemon quit as if another one had replaced it ([#225](https://github.com/snirt/agenmux/pull/225)).
### Errors
- Config refresh errors and invalid agent regexes no longer print over the live popup. While the sidebar is open they go to the daemon log and the `AGENMUX_DEBUG` trace; the tmux notice for an invalid live config is unchanged ([#223](https://github.com/snirt/agenmux/pull/223), [#209](https://github.com/snirt/agenmux/issues/209)).
### Overlays
- Help, versions, recently closed and settings share one top bar, so the settings header now uses the same color as the others ([#224](https://github.com/snirt/agenmux/pull/224), [#211](https://github.com/snirt/agenmux/issues/211)).
### Assets
- Linux x86_64
- Linux aarch64
- macOS x86_64
- macOS aarch64
- SHA-256 checksums