[BUG] Agent Teams: lead's SendMessage to a running teammate is delivered only after the teammate goes idle, not between tool calls

Status Open
Reported on v2.1.287
Maintainer reply None cached
Activity 0 comments · opened Oct 2, 2026

Version: Claude Code 2.1.287, macOS, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1, teammateMode: "tmux"

Expected: a message to a busy teammate reaches it at the next tool-call boundary. That's how
cross-session messaging is documented to behave ("The receiving Claude reads the message between
tool calls during an active turn", https://code.claude.com/docs/en/cross-session-messaging#message-delivery).
The agent-teams docs only say messages are "delivered automatically" and don't say when.

Actual: the teammate's mailbox file is emptied almost immediately, but the message is only given
to the teammate after its turn ends. A teammate on a long task can't be steered mid-flight.

Timeline (UTC, from the lead and teammate transcripts):

| Time | Event |
|---|---|
| 14:33:26 | Teammate issues two Bash calls (test suites, several minutes) |
| 14:34:36 | Lead SendMessage → {"success":true,"message":"Message sent to <teammate>'s inbox"} |
| ~14:34–14:36 | ~/.claude/teams/<team>/inboxes/<teammate>.json is already [] |
| 14:37:59 | Teammate's tool result returns — message not injected |
| 14:38:06 | Teammate writes its final report; turn ends |
| 14:38:07 | Message arrives as <teammate-message teammate_id="team-lead"> starting a new turn |

Repro:

  1. Enable agent teams with teammateMode: "tmux".
  2. Spawn a named teammate with a task that takes several tool calls, at least one of them long (e.g. sleep 120 && echo done, then a few more calls).
  3. While it's mid-task, have the lead SendMessage it.
  4. The message shows up in the teammate's transcript only after its final response, not after the next tool result.

Impact: lead-driven course correction is impossible in a long teammate turn. The only option is to stop the teammate and spawn a new one.

Related: #35072 (closed as inactive, locked).

View original on GitHub ↗