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
- Run a script in the background using
run_in_background: trueparameter - Let the script complete successfully
- Check the process status with
BashOutputtool - it shows<status>completed</status> - 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
KillShellreturns 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!
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗