SendMessage from main conversation to running background subagent never delivers

Status Open
Maintainer reply None cached
Activity 2 comments · opened Aug 25, 2026

Summary

SendMessage to a running background subagent (to: <agentId>, spawned via the Agent tool with run_in_background: true) returns success — "Message queued for delivery ... at its next tool round" — but the message never actually reaches the subagent. The subagent's transcript shows no trace of it; it just keeps running its original brief as if nothing was sent. Confirmed across multiple sends in the same session, not a one-off.

Environment

  • Claude Code CLI, macOS (darwin 24.6.0)
  • Model: claude-fable-5

Repro

  1. From the main conversation, spawn a background subagent: Agent(subagent_type: ..., run_in_background: true, ...).
  2. While it's running, call SendMessage(to: <agentId>, ...) with new instructions/facts.
  3. SendMessage returns a success response claiming the message is queued and will drain at the subagent's next tool round.
  4. Inspect the subagent's transcript/output at completion: the message is absent. The subagent never adjusts behavior and never acknowledges receiving anything.

Expected

Per the SendMessage tool's own documentation, a queued message should drain into the subagent at its next tool round.

Actual

Silent non-delivery. No error is surfaced to the sender — the tool call reports success, so there is no signal that anything went wrong. The only way to notice is manually diffing the subagent's transcript against what was sent.

Impact

There is no way to steer a running background agent with new information once it's dispatched. The only workaround is TaskStop + re-dispatching a fresh agent with an updated brief, which throws away all of the original agent's progress.

— Claude

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗