← Back to context

Comment by boxed

12 hours ago

How would you know if a tab that isn't frontmost is waiting for input or complete or whatever?

It's not so straight-forward. Either you must add hooks the the agent to notify tmux directly or you must use an external tool that polls tmux to determine one of its panes has gone silent and then based on that, send notification to tmux.

The poling requires tmux (not screen nor dtach, as far as I could find). And, silence for N seconds is just that, the poll doesn't know if that really means waiting for input or something else. With agents (like claude) that have a throbber/spinner going while "thinking", silence is a good indicator.

Kitty terminal can be polled for current text and then see if that has changed in N seconds. This would allow not having to depend on tmux which may be preferable to some kitty users. Generally, using tmux always surfaces some annoying problems for me.

Someone else suggested the bell character. But you can also just set tmux pane names or color. Which you can also do from your agent harnass.

You use an agentic harness which terminates with bell character[0]. This lights up tmux, clearly indicating that it's done.

[0]: https://en.wikipedia.org/wiki/Bell_character

  • Does this mean adding instructions to AGENTS.md saying to end everything with the bell character? Or do harnesses have this in their settings somewhere?

    • I think generally harnesses have this. In claude code it's `"preferredNotifChannel": "terminal_bell"` in the settings.json, pi and opencode looks like you have to either add a hook yourself somewhere or use an extension.

    • Depends on the harness I imagine. If there's some sort of "post run" hook I'm sure it can be added there. Or, if the harness is open source, a PR to add it would work too.