tmux for AI coding agents.
Run multiple coding agents in parallel. See what each is doing. Jump into any session instantly.
██████╗ ██████╗ ███████╗███╗ ██╗████████╗███████╗██╗ ████████╗
██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝██║ ╚══██╔══╝
███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ █████╗ ██║ ██║
██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ██║ ██║
██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ██║ ███████╗██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚══════╝╚═╝
agentflt · agent fleet
agentfltDemo.mov
Developers are starting to run 5–20 AI coding agents simultaneously. Today there is no good way to:
- See what every agent is doing at a glance
- Know which ones are stuck or stalled
- Jump into a session to unblock an agent
- Review what files each agent touched
agentflt is the control plane for multi-agent development. It wraps tmux so agents run persistently, and surfaces a live TUI dashboard so you can monitor and control your entire fleet from one terminal.
| Feature | Description |
|---|---|
| Fleet dashboard | Live agent table with spinner animations, colored state badges (⣾ running, ◐ stalled, ✓ done, etc.), gutter selector, and dynamic columns |
| State detection | running / idle / stalled / waiting_input / failed / done / stopped — visual badges with icons |
| Stall detection | Detects no output for 30s and marks agent stalled (amber ◐) — catch hung agents instantly |
| Grid view | Multi-pane layout showing all terminal outputs side-by-side with live state badges |
| Focus view | Full session screen: live terminal output + modified files (git) + full repo tree + file preview |
| Embedded editor | Edit files directly in the TUI with syntax-aware textarea, Ctrl+S save, dirty indicators |
| Agent timeline | Event log per session: state changes, file modifications, stalls — observability for agent runs |
| Persistent sessions | Agents run in tmux sessions — survive dashboard restarts, attach from anywhere |
| Multi-provider | Provider-agnostic — works with Claude, GPT-4, Gemini, DeepSeek, local models, or any CLI command |
| Human-in-the-loop | Jump into any session with Enter, attach to tmux with a, restart/stop with r/x |
- Go 1.21+
- tmux (on
$PATH) - git (for branch and modified-files detection in Focus view)
curl -fsSL https://raw.githubusercontent.com/cabaret-pro/agentflt/main/install.sh | bashThis will:
- Check for required dependencies (tmux, git, Go)
- Build and install agentflt to
~/.local/bin - Provide instructions if PATH needs updating
With Go 1.21+:
go install github.com/cabaret-pro/agentflt-public/cmd/agentflt@latestOr build from source:
git clone https://github.com/cabaret-pro/agentflt-public
cd agentflt
go build -o agentflt ./cmd/agentflt# Start two agents
agentflt new --title "Fix auth bug" --type claude --repo ~/myapp --cmd "claude"
agentflt new --title "Write tests" --type openai --repo ~/myapp --cmd "aider"
# Open the dashboard
agentflt dashboardInside the dashboard:
- Navigate with
j/kor arrow keys — purple gutter▌marks selection - Press
Enterto open Focus view for full terminal + file browser - Press
tfor Grid view to see all agents at once - Press
Lfor Timeline to see agent activity history - Press
ato attach directly to the tmux session
| Command | Description |
|---|---|
agentflt new --title "..." --repo PATH --cmd "..." |
Create a new agent session |
agentflt new --type claude --title "..." --cmd "..." |
Tag the agent provider |
agentflt list |
List all sessions |
agentflt dashboard |
Open the TUI |
agentflt attach <id> |
Attach directly to a tmux session |
agentflt restart <id> |
Restart a session |
agentflt stop <id> |
Stop a session |
agentflt logs <id> |
Print last 200 lines of stored output |
| Key | Action |
|---|---|
j k / ↑↓ |
Navigate agent list — purple gutter ▌ marks selection |
Enter |
Open Focus view for session |
t |
Grid view (all terminals side-by-side) |
L |
Open agent timeline (event log) |
a |
Attach to tmux session (exit TUI) |
r / x |
Restart / stop |
X |
Close for good (kill + remove from DB) |
: / Tab |
Command bar |
q / Esc |
Quit |
| Key | Action |
|---|---|
j k / ↑↓←→ |
Navigate between panes |
1–9 |
Jump to pane number |
Enter / i |
Open Focus view for selected pane |
d / Esc |
Back to fleet |
| Key | Action |
|---|---|
i |
Start typing (native terminal — type and Enter to send) |
Tab / m |
Toggle right panel: Modified files ↔ Repo tree |
j k |
Navigate file list |
Enter |
Expand/collapse directory (tree) or open file in editor |
e |
Open selected file in embedded editor |
[ ] |
Scroll file preview |
pgup pgdn |
Scroll terminal output |
a |
Attach to tmux session |
r / x |
Restart / stop |
d / Esc |
Back to fleet |
| Key | Action |
|---|---|
Ctrl+S |
Save file |
Esc |
Back to Focus view |
| Key | Action |
|---|---|
pgup pgdn |
Scroll events |
Esc |
Back to fleet |
| State | Badge | Meaning |
|---|---|---|
running |
⣾ (green spinner) | Active output in last 30s — healthy agent |
idle |
· (grey) | No output for 10s — waiting or thinking |
stalled |
◐ (amber) | No output for 30s — needs attention |
waiting_input |
? (cyan) | Prompt pattern detected — awaiting user input |
done |
✓ (grey) | Process exited 0 — task complete |
failed |
✗ (red) | Process exited non-zero — error occurred |
stopped |
■ (grey) | Manually stopped by user |
- DB:
~/.agentflt/sessions.db(override with-data /path) - Sessions are tmux sessions named
agentflt-<id>; attach anytime withtmux attach -t agentflt-<id> - Debug log:
/tmp/agentflt-debug.log(live:tail -f /tmp/agentflt-debug.log)
go test ./...agentflt is beta software. Use at your own risk.
-
Token usage — agentflt spawns and monitors AI agent processes but does not control or limit their API usage. You are solely responsible for monitoring and capping token consumption. Runaway agents can incur significant API costs. Always set spending limits in your AI provider's dashboard before running agents.
-
Security — agentflt runs agents in local tmux sessions on your machine. Follow standard security practices: do not run agents with elevated privileges, be cautious about the commands and repos you expose to agents, and review agent output before applying changes to production systems.
-
Privacy — agentflt operates entirely locally. It does not collect, transmit, intercept, or share any data — including API keys, source code, agent output, or usage metrics. All session data is stored only in a local SQLite database (
~/.agentflt/sessions.db) on your machine. -
No warranty — This software is provided "as is" without warranty of any kind. The authors are not liable for any damages, data loss, or costs arising from its use.