Agent teams: idle-notification ping-pong — acknowledging a finished teammate wakes it and emits another idle_notification
Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 8, 2026
Description
When using named subagents / agent teams, a teammate that has delivered its final report stays resident and emits an idle_notification each time it finishes a turn. This creates a wasteful ping-pong:
- Teammate finishes its task and sends its final report →
idle_notification#1. - The lead session reviews the work and sends a short courtesy acknowledgment ("thanks, all done, nothing further").
- That message wakes the teammate, which processes it, has nothing to do, and goes idle again →
idle_notification#2 (sometimes #3). - Each notification triggers a new turn in the lead session, which reads it and typically tells the user "that was just an idle notification".
Net effect: up to three "I'm done" style notifications per agent, extra tokens burned on both sides (teammate wake-up + lead re-reads), and noise for the user, who perceives it as the agent repeatedly reporting completion.
Expected behavior / suggestions
Any of these would remove the ping-pong:
- Dedupe idle notifications: suppress an
idle_notificationwhen nothing about the teammate's state changed since the last one (no new task, no meaningful output — it merely processed an acknowledgment). - A lightweight "release/ack" send option that delivers a message to the teammate's transcript without waking it for a full turn.
- Docs guidance: make it explicit that after accepting a teammate's final report the lead should either stay silent or send a formal
shutdown_request— a plain-text farewell is an anti-pattern that re-triggers the loop. (We only discovered this by observing the token waste.)
Keeping the teammate resident is otherwise great (it can be resumed with context later) — only the notification loop needs fixing.
Environment
- Claude Code CLI on Windows 11 (PowerShell), current release
- Agent teams / named subagents (
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1), spawned via the Agent tool withname:, communicating via SendMessage