Background agent notifications not delivering reliably (macOS)
Resolved 💬 3 comments Opened May 7, 2026 by jrmyward Closed May 11, 2026
Summary
Background agent task notifications (run_in_background: true on the Agent tool) are not delivering reliably. The agent completes its work, but the parent conversation is never notified, causing minutes of dead time until the user manually interrupts.
Reproduction
- Launch Claude Code on macOS (Darwin 25.2.0, arm64)
- Use the Agent tool with
run_in_background: true - The agent runs and completes (output file is written to disk)
- The parent conversation sits idle — no
<task-notification>is delivered - When the user sends a message (interrupt), the assistant responds instantly, proving it wasn't blocked on computation
Observed behavior
- One background agent completed successfully but notification arrived with multi-minute delay
- A second background agent timed out after 10 minutes (
Agent stalled: no progress for 600s (stream watchdog did not recover)) - In both cases the parent conversation was idle waiting for a notification that either arrived very late or never came
- The pattern repeated consistently across multiple background agent launches in the same session
Expected behavior
<task-notification> should be delivered to the parent conversation within seconds of the background agent completing.
Environment
- macOS 25.2.0 (Darwin, arm64)
- Claude Code CLI
- Model: claude-opus-4-6
Workaround
Run all agents in foreground (run_in_background: false). Added a global ~/.claude/CLAUDE.md rule to enforce this.
Impact
Each stalled notification added 5-10 minutes of wasted wall-clock time. User had to interrupt repeatedly to unstick the session.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗