Background process notifications persist after completion

Resolved 💬 3 comments Opened Dec 4, 2025 by cooneycw Closed Dec 8, 2025

Bug Description

Background process notifications continue to show "status: running" indefinitely even after the processes have completed successfully. The system reminders persist in the chat interface, creating visual noise and confusion about the actual process status.

Steps to Reproduce

  1. Run a script in the background using run_in_background: true parameter
  2. Let the script complete successfully
  3. Check the process status with BashOutput tool - it shows <status>completed</status>
  4. Observe that system reminders continue showing "status: running" indefinitely

Expected Behavior

Once a background process completes, the system reminders should either:

  • Update to show "status: completed"
  • Stop appearing entirely
  • Provide an option to clear/dismiss them

Actual Behavior

  • System reminders continue showing "Background Bash [id] (status: running) Has new output available"
  • These notifications persist even after verifying the process has completed
  • Using KillShell returns error: "Shell [id] is not running, so cannot be killed (status: completed)"
  • No way to clear these phantom notifications without starting a fresh session

Environment

  • Claude Code CLI version: Latest
  • Platform: Linux
  • Context: Running deployment scripts with multiple parallel background processes

Impact

  • Creates confusion about actual process status
  • Clutters the interface with irrelevant notifications
  • May cause users to think processes are hung when they've actually completed
  • No workaround except starting a fresh session (losing context)

Example

Five deployment scripts were run at different times. All completed successfully with exit code 0, but notifications persist showing:

Background Bash 7e39ec (command: ./scripts/deployment/sync_servers.sh) (status: running)
Background Bash 1b6acd (command: ./scripts/deployment/sync_servers.sh) (status: running)
Background Bash ef20a6 (command: ./scripts/deployment/sync_servers.sh) (status: running)
Background Bash 0e2613 (command: ./scripts/deployment/sync_servers.sh) (status: running)
Background Bash af2049 (command: ./scripts/deployment/sync_servers.sh) (status: running)

When checked, all show completed status but notifications won't clear.

Suggested Fix

  • Add notification cleanup when process status changes to completed
  • Provide a tool/command to manually clear stale notifications
  • Add timeout for old notifications
  • Fix the notification cache/persistence mechanism

Thank you for looking into this issue!

View original on GitHub ↗

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