hmux is a tmux-compatible server built for the people who work with coding agents. All you get is almost tmux, with rich agent integrations as a plus.
It speaks tmux's own wire protocols, with the standard tmux attach
intended as the main client communicating with this server.
It recognize and provide basic agent stuff via tmux placeholders, only when the existing tmux control plane does not support the feature necessary for agent control. See ./agentmon/ to see an example agent integration.
- tmux is de facto standard of terminal multiplexer, broadly available.
- But agent integration can greatly improved with native code, which hmux tries to achieve.
- cmux tries to replace your terminal (e.g. Alacritty, Ghostty)
- Need to replace whole your terminal application stacks with cmux. hmux can be a good alternative if you prefer smaller change for agents.
- herdr tries to replace tmux with better agent integrations
- Hard to co-exist with tmux and limited flexibility on agent control UX. hmux can be a good alternative if you prefer to define your own agent control.
- Some options carry different defaults, or extra values. Where an agent
workflow wants a different starting point than tmux's, hmux ships its own
default; the option itself stays settable the usual way. For example
exit-emptytakes a third value,after-session, and defaults to it — hmux starts with no session, so we keep it alive until the first one is created. hmuxdoes not have client, so launching it will create daemon and immediately exit. You may want to runtmux attachto start using it.
nix run to start hmux server, then tmux attach.
Optionally, also start agentmon (either by going into ./agentmon-tui/ then uv run agentmon, or nix run .#agentmon) for TUI experience.