[BUG] Desktop sidebar keeps showing session "running" dot after all background tasks have exited
What's Wrong?
In the Claude Desktop app (macOS), the session list in the sidebar keeps showing the "running" indicator dot next to a session after everything in that session has finished. The session had two background Bash tasks (started with run_in_background); one was killed (exit 143) and the other completed (exit 0). Verified via ps that no processes from the session remained on the machine — yet the sidebar still showed the session as running many minutes later, across multiple turns.
A second session in the same project that genuinely had a live background watcher showed the dot correctly, so this appears to be stale per-session state rather than a global rendering issue.
What Should Happen?
The running indicator should clear once the session's foreground turn and all its tracked background tasks have reached a terminal state (completed/failed/killed).
Steps to Reproduce
- In a Desktop session, start a background Bash command (
run_in_background: true) that waits indefinitely (e.g. a device-code login flow likegh auth login --web). - Kill that process from a later turn (
kill <pid>), so the background task ends with exit 143; start a second background task and let it complete normally (exit 0). - Let the assistant finish its turn; confirm with
psthat nothing from the session is still running. - Look at the session list in the sidebar: the session still shows the running indicator dot. It persists across subsequent turns.
Impact
Can't trust the sidebar to tell which sessions are actually doing work — a finished session looks busy indefinitely. Possibly related in spirit to #64036 (stale status classification in FleetView) and #72822 (activity header leaking into idle sessions), but this one is the Desktop sidebar dot specifically.
Version
Claude Desktop app 1.17377.2 (macOS)
Operating System
macOS 26.5.2 (Darwin 25.5.0), Apple Silicon
Claude Model
Fable 5 (claude-fable-5)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗