# Agent Tmux Manager (ATM)
[](https://github.com/damelLP/agent-tmux-manager/actions)
[](LICENSE)
Real-time management for coding agents across tmux sessions.
## What it does
ATM gives you a live dashboard and CLI for coding agents running in tmux, including Claude Code and pi. See context usage, cost, model, and activity at a glance — and control agents without switching panes.
- **Dashboard** — real-time TUI with session tree, context bars, cost tracking, and live terminal capture
- **Agent control** — spawn, kill, interrupt, send text, and reply to prompts from the CLI
- **Workspaces** — create tmux sessions with built-in ATM sidebars, or inject sidebars into existing sessions
- **Layouts** — preset multi-agent arrangements (solo, pair, squad, grid) with one command
- **Tmux native** — status bar integration, popup picker, vim-style keybindings
## Install
```bash
Or via Cargo:
```bash
cargo install atm && atm setup
```
## Quick start
```bash
atm # launch TUI (starts daemon automatically)
```
Sessions appear as you use supported coding-agent harnesses. Press `Enter` to jump to any session, `q` to quit.
## CLI at a glance
```bash
atm spawn -m opus -d right # spawn default harness with model and direction
atm spawn --harness pi # spawn a specific harness
ATM_SPAWN_PI_BIN=mise ATM_SPAWN_PI_ARGS='x pi' atm spawn --harness pi
```
ATM auto-creates `~/.config/atm/config.toml` with defaults when spawn config is first loaded. Default spawn harness and per-harness spawn defaults can be configured there:
```toml
[harness]
default = "pi"
[harness.pi]
binary = "mise"
default_args = ["x", "pi"]
```
Environment overrides still take precedence when set (`ATM_SPAWN_PI_BIN/ARGS`, then legacy `ATM_SPAWN_BIN/ARGS`); otherwise config values are used, then built-in defaults.
```
atm kill <id> # kill agent and close pane
atm interrupt <id> # Ctrl+C an agent
atm send <id> "fix the tests" # send text to agent
atm reply <id> --yes # accept a permission prompt
atm peek <id> --prompt # extract the active prompt
atm list -f json --status working # list working agents as JSON
atm status # one-line summary for tmux status bar
atm workspace create # new session with ATM sidebar + agent + shell
atm workspace attach # inject sidebar into current session
atm layout pair # two agents + ATM sidebar
```
## How it works
```
Claude Code / pi ──hook/extension──▶ atmd (daemon) ◀──socket── atm (TUI/CLI)
```
`atm setup` registers supported harness integrations (Claude Code hooks and the pi extension). Harness events are forwarded to the `atmd` daemon over a Unix socket, and `atm` connects for real-time display.
## Documentation
See the **[Wiki](https://github.com/damelLP/agent-tmux-manager/wiki)** for the full user guide, tmux integration, architecture, and troubleshooting.
## Building from source
```bash
git clone https://github.com/damelLP/agent-tmux-manager.git
cd agent-tmux-manager
cargo build --release
```
## License
MIT — see [LICENSE](LICENSE).