Status & notifications
Every session row carries two indicators — an activity dot and a branch/PR icon — so you can tell at a glance what the agent is doing and where its branch stands.
The activity dot
A colored dot sits next to each session and tracks what the agent is doing right now:
- Working — emerald, with a live pulse. The agent is mid-turn: thinking, running tools, editing files.
- Waiting — amber. The turn finished, or the agent is paused on you — a question, a permission prompt, or a plan waiting for your approval. It's your turn.
- Delegating — sky blue, with a gentle pulse. The turn finished and it's your turn, but the agent left subagents running in the background — work it kicked off with the Task tool and didn't wait for. The main agent is free for you to prompt while the delegated work continues.
- Idle — gray. The session is stopped, or running with nothing in flight.
The dot is driven by Claude Code's own lifecycle events, bridged back over a private loopback channel — so it follows what the agent is really doing rather than guessing. When a session starts, Plexus installs a small set of activity hooks into the session's working directory. The dot flips to waiting the instant a turn ends, and also when the agent pauses for a plan approval or a multiple-choice question — so a session that needs you never sits there looking busy. When a turn ends with background subagents still running, it shows delegating instead, and settles back to waiting once they finish.
Only the session's own agent moves its dot. Opening another claude in the same folder — in the built-in terminal, an outside shell, or one the agent spawns itself — won't repaint a working session's status. And the dot self-heals: if it reads idle while the agent is demonstrably paused on a plan or question, Plexus flips it to waiting within a couple of seconds; if it reads idle mid-task, it flips back to working as soon as the agent's transcript shows fresh activity.
The indicator stays accurate across the whole dashboard, so you can watch several sessions at once and see exactly which one wants attention without opening each one.
The branch / PR icon
A second icon shows the git state of the session's branch, color-coded by pull request status:
| Color | Meaning |
|---|---|
| Gray | Branch only — no open PR (or the PR was closed without merging). |
| Green | An open pull request exists for this branch. |
| Purple | The pull request has been merged. |
Hover the icon for details, including the aggregate CI status (pending / passing / failing) for the PR's head commit. When the icon is green or purple, click it to open the pull request in your browser.
Plexus refreshes PR status automatically — when you focus the window, on a periodic poll, and whenever the agent finishes a turn — so the color stays current as a review progresses. See Pull requests for creating and managing PRs, and Connections to connect GitHub or Bitbucket.
Getting notified
When a session moves to waiting, Plexus can alert you even if its window is minimized or you're focused on another session. A move to delegating stays quiet — the agent only handed work to background subagents, so you're not being asked for anything yet; the alert waits for the real finish, when those subagents drain and the dot settles to waiting.
Desktop notifications
A native OS notification names the session and what it needs. Controlled by notifications.desktop, which is on by default. On Linux, pop-ups use notify-send when available — install it if notifications don't appear.
Sound
An optional brief two-note chime plays when a session needs input. It's synthesized in memory — no audio files. Controlled by notifications.sound, which is off by default; a preview button lets you play the chime and confirm your audio works.
Prefer your own sound? Set a custom sound under global Settings → Notifications. Plexus copies the file you pick into its own data folder, so it stays on your machine and keeps working even if you move or delete the original — and the notifications.sound toggle still decides whether it plays. See the Settings reference.
Both settings are session-scoped, so you can tune which sessions are allowed to interrupt you. Toggle them in the Settings notifications section — see the Settings reference.
Resetting a stuck activity dot
Because the dot follows Claude Code's hooks, it can occasionally stick on the wrong state. The usual cause is pressing Esc to interrupt a turn — Claude Code fires no hook for that, so the dot keeps its previous value.
To clear it, open the session's ⋯ menu and choose to reset its status. The dot flips to idle (gray) immediately. This only changes the visual indicator — it doesn't touch Claude's actual session or conversation.
A reset on a genuinely stuck dot sticks. If you reset a session whose agent is actually still busy, the self-healing described above kicks in: the dot returns to working or waiting once the agent's activity proves the reset was premature — so a mistaken reset can't hide a live agent.
If the dot stops updating entirely rather than sticking on one value, the activity hooks may need repair. From the same ⋯ menu, reinstall the hooks — the operation is idempotent and safe to repeat.