Tasks sidebar: completed background bash tasks stay as "Running"; dismiss (X) button is unresponsive

Resolved 💬 10 comments Opened Apr 15, 2026 by mitiay7 Closed Jun 12, 2026

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 total
  • Squash merge PR from main worktree
  • Squash merge PR 147 from main worktree
  • Squash merge PR 148 from main worktree
  • Install 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

  1. When a backgrounded Bash task exits, its Tasks sidebar entry should transition to its final state (completed / failed / killed) instead of staying Running indefinitely.
  2. 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.

View original on GitHub ↗

This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗