Show Agent State in Your tmux Status Bar
Status Light is a matte-black desk unit with red, amber and green domed lenses. It can represent the same small state vocabulary as a tmux status script, but the catalogue does not confirm a control interface, so software integration needs separate verification.
How does tmux run scripts in the status bar?
tmux status options accept an embedded shell command inside the documented command substitution form. tmux displays the command's latest output and reruns short-lived commands according to status refresh behavior. The status-interval option sets the maximum redraw interval, although tmux may update sooner.
Point the status item at a fast reader, not a network request or a transcript parser. Have another process write one validated state to a small local file, then let the status command print a short task name and symbol. Keep errors out of the status line and log them separately.
How do you detect which window needs attention?
Terminal activity is only a hint. A compiler, progress display or log follower can mark a window active without asking a person anything. Silence has the opposite problem: an agent may be waiting at an ordinary prompt that tmux cannot interpret.
Prefer explicit tool events when the agent exposes them. Translate completion, permission request and failure into a narrow record containing session, tmux target, state and update time. If no event source exists, require a manual state key instead of scraping prose and pretending it is reliable.
How do you keep the status bar readable?
Show the worst current state and a compact count, then use the tmux tree view for detail. Reserve red for a confirmed failure, amber for verified human attention and green for a known quiet condition. Unknown or stale data should say unknown rather than borrowing a reassuring colour.
Trim long names, avoid animation and refresh no faster than the underlying state changes. Include a timestamp in the detailed view so a state left behind by a crashed notifier is obvious.
How do you push the same signal beyond the screen?
Let a separate adapter watch the state file and drive only hardware with a documented local interface. The tmux script and physical output should consume the same record; neither should infer the other's state. Rate-limit writes, add an all-off or unknown condition and test with synthetic data.
The Status Light supplies three visible lenses, but its listing alone does not prove USB control, an API or compatibility with a particular script. Confirm the actual unit's interface before buying it for automation. Until then, the tmux indicator remains the dependable implementation.