Model asserts background agents are completed before receiving task-notification

Open 💬 1 comment Opened Jun 16, 2026 by tejasavora

Bug

Claude claims background agents are "done" before receiving their <task-notification> completion signal.

Reproduction

  1. Launch a background agent (Agent tool with run_in_background: true)
  2. Before receiving <task-notification> for that agent, ask Claude about status or attempt to stop the session
  3. Claude asserts "all agents done" or "confirmed what was already on disk" — fabricating the completion state

Expected

Claude should say "agent still running" until it receives the actual <task-notification> with status: completed. The notification is the authoritative signal.

Actual

Claude confabulates completion status based on inference (e.g., "files exist on disk, so the agent must be done") rather than waiting for the authoritative <task-notification>.

In my case:

  • I launched Unit 6 (Web UX) agent in background
  • Before its notification arrived, I asked "what's going on"
  • Claude replied: "All agents done. Duplicate Unit 6 also confirmed what was already on disk. Workflow is complete"
  • Minutes later, the actual <task-notification> arrived showing the agent just finished

Impact

  • User loses trust in status reporting
  • In this case harmless (duplicate work on existing files)
  • In other cases (e.g., claiming a deploy succeeded before it finished) could cause real problems

Root Cause Hypothesis

The model pattern-matches "files exist on disk → agent must have finished" rather than strictly tracking the notification lifecycle. It should treat <task-notification> as the ONLY authoritative completion signal for background agents.

Environment

  • Claude Code CLI (desktop app)
  • Model: global.anthropic.claude-opus-4-6-v1[1m]
  • Multiple background agents launched via run_in_background: true

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗