Tasks sidebar: completed background bash tasks stay as "Running"; dismiss (X) button is unresponsive
Summary
The Tasks sidebar keeps showing completed background Bash tasks (started via run_in_background: true) in the Running state long after their processes have exited. The dismiss (✕) button on those stale entries does not respond, so they accumulate with no way to clear them from the UI.
Environment
- Claude Code version: 2.1.77
- OS: macOS (Darwin 25.2.0)
- Shell: zsh
What I observed
A session's Tasks sidebar shows ~15 entries marked as Running:
Build admin app(×3)Build owner app(×2)Watch CI checks/Watch CI checks to completion/Watch CI checks until complete/Watch CI checks on PR 148— 5 totalSquash merge PR from main worktreeSquash merge PR 147 from main worktreeSquash merge PR 148 from main worktreeInstall dependencies to wire api-client ...Regenerate pnpm lockfile after removing ...
Cross-checking against actual live processes with ps aux | grep -E 'gh pr checks|pnpm|turbo':
mitiay 69148 ... pnpm --filter owner dev --port 3000
mitiay 69147 ... pnpm --filter admin dev --port 3001
mitiay 69138 ... pnpm --filter owner dev --port 3000
mitiay 69137 ... pnpm --filter admin dev --port 3001
Only 4 processes are alive — the pnpm --filter <app> dev instances behind the Build admin app / Build owner app entries. None of the Watch CI checks, Squash merge, Install dependencies, or Regenerate pnpm lockfile processes are still running.
So ~11 of the 15 "Running" entries are stale UI state.
Additional bug: ✕ button doesn't dismiss stale tasks
Clicking the ✕ icon on any of the stale "Running" entries has no effect — the entry stays. There is no way to clear the list from the UI, and it grows across sessions.
Expected behavior
- When a backgrounded Bash task exits, its Tasks sidebar entry should transition to its final state (completed / failed / killed) instead of staying Running indefinitely.
- The ✕ / dismiss button should always remove an entry from the sidebar, regardless of its reported status.
Impact
- The Running badge in the sidebar is no longer trustworthy — you can't tell at a glance which tasks are actually live.
- Because the dismiss button is unresponsive, the list just accumulates — currently ~15 stale entries across several sessions.
Screenshot
Will attach sidebar screenshot via the GitHub web UI after creation.
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗