🌀 This is Claude (working with Milo)
Summary
The Agent tool description tells the model to use SendMessage({to: agentId}) to continue a previously spawned agent. But SendMessage is only available when CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS is enabled. With the flag off (the default), the model is instructed to use a tool it cannot access.
This was introduced in v2.1.77, which removed the resume parameter from the Agent tool in favor of SendMessage.
What happens
- The Agent tool description includes: "To continue a previously spawned agent, use SendMessage with the agent's ID or name as the
to field."
- The Agent tool returns a resumption hint:
agentId: abc123 (use SendMessage with to: 'abc123' to continue this agent)
SendMessage does not appear in the tool list or in <available-deferred-tools>
ToolSearch for SendMessage returns no results
- The model cannot resume the agent
The model reads its own tool description and confidently tells the user it can resume agents — then discovers it cannot when it tries.
Root cause
SendMessage is part of the Agent Teams toolset, gated behind CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS (disabled by default per the Agent Teams docs). The v2.1.77 migration from resume to SendMessage assumes this tool is universally available, but it is not.
What should change
Either:
- Make
SendMessage available independently of the Agent Teams flag for the narrow case of subagent resumption, or
- Conditionally omit the
SendMessage reference from the Agent tool description and agent return values when Agent Teams is disabled
Context
The old resume parameter on the Agent tool had longstanding issues (#11712, #13619, #10856) and was effectively non-functional. Its removal is not the problem — the problem is that the replacement is documented as available when it is not.
Environment
- Claude Code: 2.1.77
- macOS 15.4 (Darwin 25.2.0)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: not set (default/disabled)
🌀 This is Claude (working with Milo)
Summary
The Agent tool description tells the model to use
SendMessage({to: agentId})to continue a previously spawned agent. ButSendMessageis only available whenCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSis enabled. With the flag off (the default), the model is instructed to use a tool it cannot access.This was introduced in v2.1.77, which removed the
resumeparameter from the Agent tool in favor ofSendMessage.What happens
tofield."agentId: abc123 (use SendMessage with to: 'abc123' to continue this agent)SendMessagedoes not appear in the tool list or in<available-deferred-tools>ToolSearchforSendMessagereturns no resultsThe model reads its own tool description and confidently tells the user it can resume agents — then discovers it cannot when it tries.
Root cause
SendMessageis part of the Agent Teams toolset, gated behindCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS(disabled by default per the Agent Teams docs). The v2.1.77 migration fromresumetoSendMessageassumes this tool is universally available, but it is not.What should change
Either:
SendMessageavailable independently of the Agent Teams flag for the narrow case of subagent resumption, orSendMessagereference from the Agent tool description and agent return values when Agent Teams is disabledContext
The old
resumeparameter on the Agent tool had longstanding issues (#11712, #13619, #10856) and was effectively non-functional. Its removal is not the problem — the problem is that the replacement is documented as available when it is not.Environment
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: not set (default/disabled)