When you’re running several agents, you need to know which one is waiting on you. Termic reads status signals from each CLI to tell you when an agent has finished a turn or is stuck waiting, so you don’t have to watch them.
The two indicators
- Blue dot. Appears on a tab when its agent finishes a turn and you’re looking at something else. It’s sticky: it stays until you focus that tab or type into it, so a turn that finished while you were away doesn’t get missed.
- Orange bell. Appears when an agent is blocked on input, waiting for you to answer a question or approve something. This is the “come here now” signal, distinct from “done”.
Termic never marks the tab you’re actively looking at. If you’re watching an agent work, you don’t get a dot for the thing right in front of you.
How detection works
Termic uses the signals the CLIs emit rather than idle time:
- Per-CLI title classifier. Each agent advertises its state in the terminal title. Claude has its spinner glyph, Codex shows
Working/Ready/Waiting, and each other built-in has its own. Termic reads those. - OSC 9;4 progress sequences, where the CLI emits them.
- Gating. A static “thinking” title shouldn’t read as “done”, so the classifier is gated by byte-quiet checks (has output stopped?), a content hash of the visible terminal, and scrollback state. Together they stop it firing on every pause and kill the false “done” that idle timers produce.
For a custom CLI that emits no status signals, finished and waiting-for-input are indistinguishable, so Termic shows the attention bell instead of a done dot. And because some custom CLIs produce output that trips a false positive, there’s a per-agent Work-done detection toggle in Settings → Agents to turn it off for that agent.
Desktop notifications
Beyond the in-app indicators, Termic can fire a macOS desktop notification when an agent finishes, so you can switch to another app and still get pulled back. They’re off by default; turn them on in Settings → General.
- They fire only for agents in tasks you’re not currently viewing. The agent you’re watching never notifies you, and neither does any tab in the task you’re focused on.
- They’re focus-routed. Clicking a notification drops you on the exact task and tab that fired it, wired through the CLI’s OSC 9 / OSC 777 sequences. Clicking one only ever brings the window forward; it will not yank you to that task on an unrelated refocus a few seconds later.
The menu bar
The menu bar item shows the same information when Termic isn’t in front.
It carries a numeral badge counting the tasks that want you, and its dropdown lists them: tasks blocked on input and tasks that just finished a turn, grouped by project. Click one and Termic comes forward on that exact task.

The badge counts the tasks that want you; the dropdown groups them by project and each row jumps straight to that task.
It is there whether or not a window is open. Termic can run windowless, and then the menu bar is how you get back in. Show Termic in the menu bar in Settings → General turns it off if you would rather not have it, and applies live with no restart. Choosing Keep in Menu Bar from the close prompt turns it back on if it was off, since that button is an explicit request for the tray as your way back.
Related
- Parallel agents: where you’ll use these indicators most.
- Scheduled messages & Ralph-style loops: the queue advances on this same signal.
- Agents & the registry: the per-agent detection toggle.
- Settings reference: turning notifications on, and the menu bar toggle.
- Agent races: the race strip uses these same badges.