Model asserts background agents are completed before receiving task-notification
Bug
Claude claims background agents are "done" before receiving their <task-notification> completion signal.
Reproduction
- Launch a background agent (
Agenttool withrun_in_background: true) - Before receiving
<task-notification>for that agent, ask Claude about status or attempt to stop the session - 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
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗