A guide to running Claude Code in tmux admits tmux hits a ceiling at four agents
The guide's authors list what tmux can't tell you: whether an agent is busy, idle, or waiting for your approval.
Crystl's guide to tmux and Claude Code covers named sessions, send-keys scripting and capture-pane screen reads. Then it lists the limits: no real completion signal, brittle screen scraping, nothing surviving a reboot.
HN's reaction was that nearly every top-level comment was someone who had built their own replacement.
What the guide teaches, and where it stops

The guide treats tmux as the practical way to run Claude Code in detachable, named sessions that survive closed terminals and dropped SSH connections. Core moves: claude --worktree --tmux for an isolated worktree and session (--tmux=classic for real tmux), tmux new-session -A -s <name> -c <dir> to attach-or-create, and send-keys -l for literal input with a separate Enter. For reading agents back it uses capture-pane -p -J and pipe-pane, and monitor-silence as a proxy for "done".
It then names the ceiling: an agent waiting for approval looks identical to a busy or idle one; screen scraping breaks when agent UIs change; sessions share no state; scrollback across many panes eats memory; nothing survives a reboot. Its advice is to keep tmux for remote and server work and use a purpose-built terminal once about four agents need decisions at unpredictable times.
The thread: everyone built their own
One commenter noticed the pattern:
"Wow, nearly every top level comment is about coding their own version of this. I'd love some perspective on what problem this setup solves and how do you address sandboxing." — nsagent, an HN commenter
The self-promotion was visible: a terminal with session persistence, Jai for multi-machine agent-to-agent messaging, domux built around git worktrees, and fans of Herdr and Orca IDE.
"Wrong architecture"
The sharpest critique targeted the premise rather than the tooling:
"A coding agent should be running as a headless/detached process, a daemon. If it needs a CLI then that CLI can attach/connect to that daemon… Running the agent as an interactive CLI process which you need to stuff into something like tmux is just the wrong approach, and 'connecting' to it by reading/scraping its screen is terrible." — teiferer, an HN commenter
Lower-tech answers
A freelance full-stack developer described a security habit: authenticate over SSH with a Secure Enclave fingerprint, then hand a named tmux session to Claude so the agent never holds the key. Another skipped the commands entirely, telling Claude it was in tmux and asking it to spawn subagents into tabs and to report fleet status.
The ceiling the guide describes is the reason the thread's builders exist: tmux gives you persistence, not state. The missing primitive is an agent that reports its own status.
Get breakdowns like this every day
The top Hacker News stories, unpacked — by email, Telegram, or RSS.
Linux 7.3 ships with 18,765 commits and 807 first-time kernel contributors
The release landed October 18, and the 7.4 merge window opens the day after.