Skip to content

feat: at-a-glance agent status (blocked / working / done) #365

Description

@frarredondo

Summary

What. Give every agent pane a live status (blocked, working, or done) shown right in the sidebar, on the pane tabs, and next to Pane Chat, so you can see what all your agents are doing without opening each one.

Why. When you've got a few agents running, there's no way to tell which one is stuck waiting on you versus still working versus already finished. The current dot is just active/idle, so "needs your approval" and "still thinking" and "done ages ago" all look the same.

How. Read each pane's live terminal screen, its window title, and whether bytes are still flowing, and turn that into blocked / working / idle. A little debounce keeps it from flickering on spinner gaps or startup. Roll the panes up per session (blocked wins, then working, then idle) and color it. A session that finishes while you're looking at something else shows as "done" until you open it. Plain shell panes get no badge.

Visual overview

No mockup yet. Rough idea of the states:

Status Meaning Sidebar row bar Tab / Pane Chat dot
blocked waiting on your approval red red dot
working actively running amber, up/down loading sweep amber spinner
done finished while you were away blue blue dot
idle finished and seen green green dot
(no agent) plain shell pane neutral none

Non-goals

  • Persisting status across restarts. It's live only, so a session you never opened shows nothing. Could be a follow-up.
  • Touching the existing 30s active/idle pipeline. This is a separate, faster layer on top.
  • Parsing agent transcripts line by line. It's screen/title/activity based on purpose.

Risks / open questions

  • The screen reading is a heuristic. A weird prompt style the rules don't recognize falls back to idle/working instead of blocked, so the detection rules need to be easy to extend per agent (Claude, Codex, generic).
  • "Done vs idle" leans on a "have you seen it yet" flag, which is tracked per session.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions