# The tmux Agent Dashboard Boom Is a Bug Report

> Source: <https://sourcefeed.dev/a/the-tmux-agent-dashboard-boom-is-a-bug-report>
> Published: 2026-07-30 15:08:10+00:00

[Dev Tools](https://sourcefeed.dev/c/dev-tools)Article

# The tmux Agent Dashboard Boom Is a Bug Report

Agent-manager is the best of a crowded field that exists because AI coding CLIs can't report their own status.

[Lenn Voss](https://sourcefeed.dev/u/lennart_voss)

Every few weeks another one lands on Hacker News: a terminal dashboard for babysitting AI coding agents. This week it's [agent-manager](https://github.com/YoanWai/agent-manager), a Go binary that wrangles Claude Code, Codex, OpenCode, and Grok Build sessions inside tmux — live status per agent, a group tree, inline diff review, resource gauges. It hit the front page, and it deserves the attention: it's one of the more polished entries in the category. But the category itself is the real story. When a half-dozen independent developers all build the same tool in under a year, that's not a trend. That's a bug report, filed collectively, against the agent CLIs themselves.

## What it actually does

The author's pitch on HN was refreshingly concrete: with three or four agents running at once, you spend your time cycling through terminal tabs asking "is it done? is it stuck?" — and the answer is too often that an agent has been sitting on a permission prompt for twenty minutes while you weren't looking.

Agent-manager attacks exactly that. Sessions run in a dedicated tmux namespace, and the TUI (built on [Bubble Tea](https://github.com/charmbracelet/bubbletea)) shows every agent in a tree with a live state: working, waiting, finished, errored, idle, dead. You can fire a prompt at any session with the space bar without attaching to it, pull up a syntax-highlighted diff of what an agent changed, and send inline comments on that diff back to the agent as instructions. Because everything lives in tmux, sessions survive the manager quitting, and the whole setup works over SSH or mosh — something several HN commenters called out as the reason they'd pick this over the GUI competitors. There's an MCP server too, so agents can call back into the manager to rename themselves or trigger repo reviews.

Install is a one-liner (`brew install yoanwai/tap/agent-manager`

, or `go install github.com/YoanWai/agent-manager@latest`

with Go 1.26+), it's MIT-licensed, macOS and Linux only (WSL2 on Windows), and state sits in SQLite with config in a TOML file.

## The duct tape underneath

Here's the part worth slowing down on. How does agent-manager know whether Codex is "working" or "waiting"? It polls each tmux pane every two seconds and runs regexes over the visible text.

Read that again. The state-of-the-art method for asking an AI agent "are you busy?" in mid-2026 is screen-scraping its spinner animation. Agent-manager is honest about this — the custom-tool config is literally a TOML block of regex patterns, which is also how it supports arbitrary CLIs beyond the built-in four. And to be fair, the tool uses something better where it exists: for [Claude Code](https://claude.com/claude-code) it hooks the lifecycle events the CLI exposes, getting real state transitions instead of guessed ones.

That asymmetry is the tell. Claude Code has hooks, so it gets first-class treatment; everything else gets pattern-matched and will silently misreport the moment a vendor redesigns their status line. Every tool in this category — [Claude Squad](https://github.com/smtg-ai/claude-squad), agent-deck, tmuxcc, tmux-agent-sidebar, and the rest — is rebuilding the same fragile scraping layer, because none of the agent CLIs ship a machine-readable status protocol. We standardized how agents call tools (MCP) but not how anything observes an agent. That's the actual gap, and no regex file closes it.

## Picking from the pile

If you're running parallel agents today, the field splits on one axis: does the tool manage your checkouts or just your sessions?

Claude Squad's whole thesis is isolation — every agent gets its own git worktree and branch, so parallel agents can't stomp each other's files. Agent-manager deliberately doesn't do that. It's a viewer and dispatcher: it shows you sessions wherever they run, and where they run is your problem. That's the right call for how experienced people actually work — worktrees are a two-command habit (`git worktree add ../proj-auth auth-branch`

), and baking checkout management into the dashboard couples two concerns that don't want coupling. But know which tool you're getting. If you point three agents at one working directory under agent-manager, nothing will save you from the merge-hell you've built.

My read: agent-manager is the strongest pure session manager in the group right now — the no-daemon design, the remote-friendliness, and the diff-comment loop (annotate a diff, agent receives it as instructions) put it ahead. Pair it with your own worktree discipline and it's genuinely useful today. The skeptics in the HN thread asking "why not vanilla tmux with hooks?" aren't wrong that you *could* — they're wrong that you *would*. Nobody maintains that bespoke setup past week two.

## This layer gets eaten

Now the uncomfortable part for everyone building these. Third-party dashboards for a vendor's product occupy the most precarious spot in software: they prove demand for a feature the vendor hasn't shipped yet. Anthropic, OpenAI, and the OpenCode team can all see the same HN threads. Claude Code already grew hooks, background tasks, and native subagent orchestration; the trajectory points straight at a first-party fleet view. The moment the CLIs expose real status APIs — or an orchestration standard emerges the way MCP did for tools — the scraping layer these projects are built on evaporates, and so does most of their reason to exist.

The durable bet isn't any single dashboard. It's tmux. Sessions that persist, work over SSH, and compose with forty years of terminal tooling will outlive whichever status-parsing regime sits on top this quarter. Agent-manager's smartest decision was being a thin, stateless-ish layer over tmux rather than a platform — when the vendors finally ship proper observability, a tool this small can adapt in a weekend, or die without anyone having overinvested in it.

Use it now. Just don't build your team's workflow religion on it.

## Sources & further reading

-
[Agent-Manager: Terminal UI to manage AI coding-agent sessions in tmux](https://github.com/YoanWai/agent-manager)— github.com -
[Agent-Manager: A Tmux TUI for Running Claude Code, Codex and OpenCode](https://news.ycombinator.com/item?id=49107749)— news.ycombinator.com -
[Claude Squad: Manage multiple AI terminal agents](https://github.com/smtg-ai/claude-squad)— github.com

[Lenn Voss](https://sourcefeed.dev/u/lennart_voss)· Cloud & Infrastructure Writer

Lenn writes about cloud platforms, Kubernetes internals, and the infrastructure decisions that quietly make or break engineering organizations. Based in Berlin's vibrant tech scene, they have a talent for turning dense platform-engineering topics into prose that people actually finish reading.

## Discussion 0

No comments yet

Be the first to weigh in.
