[BUG] SendMessage tool referenced but not available — agent continuation broken since resume parameter removal
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Agent tool's resume parameter was removed (around v2.1.77). The documented replacement is SendMessage, but this tool does not exist at runtime. This breaks multi-round sub-agent conversations — there is no working mechanism to continue a previously spawned agent with its context preserved.
The system actively tells you to use SendMessage:
- The Agent tool description says: "To continue a previously spawned agent, use SendMessage with the agent's ID or name as the
tofield." - Every agent result prints:
"use SendMessage with to: 'agentId' to continue this agent" - The
claude-code-guideagent type description references it: "check if there is already a running or recently completed claude-code-guide agent that you can continue via SendMessage"
But SendMessage is not a built-in tool, not a deferred tool (ToolSearch returns nothing), and calling it directly errors.
What Should Happen?
Either SendMessage should be available as a tool at runtime, or the resume parameter should be restored on the Agent tool. Multi-round sub-agent conversations (sparring, expert sub-agents for complex research, iterative review) need a working continuation mechanism.
Error Messages/Logs
Calling SendMessage directly:
Error: No such tool available: SendMessage
Searching via ToolSearch:
> ToolSearch("select:SendMessage")
No matching deferred tools found
The Agent tool schema has `additionalProperties: false`, so the old `resume` parameter cannot be passed either — it would be rejected.
Steps to Reproduce
- Spawn a sub-agent:
````
Agent(description: "Test agent", prompt: "Remember the phrase 'purple elephant'. Say 'Ready'.")
- Note the returned agent ID (e.g.,
a09a8b95659e9120e) and the message saying"use SendMessage with to: 'a09a8b95659e9120e' to continue this agent". - Attempt to call SendMessage:
````
SendMessage(to: "a09a8b95659e9120e", message: "What was the phrase?")
- Observe error:
"No such tool available: SendMessage" - Search for it via ToolSearch — not found.
- The agent has no way to continue the sub-agent.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown exactly. The resume parameter worked in sessions from earlier in 2026. The claude-code-guide agent suggests the change happened around v2.1.77 (March 17, 2026).
Claude Code Version
2.1.81
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
- The
resumeparameter on the Agent tool was confirmed working via session history logs in~/.claude/projects/. SendMessagehas never successfully executed — all past attempts in session logs also show"No such tool available: SendMessage".- Workflows that relied on multi-round agent conversations (e.g., a
/sparskill that goes 2-3 rounds with the same sub-agent, or research workflows using sub-agents as persistent "experts") are broken. - The only workaround is spawning fresh agents each round and manually re-passing context in the prompt, which is wasteful and loses deep context from file reads.
23 Comments
This is happening to me. I work on agent definitions for my company and when they don't work I need to I need to be able to talk to them about what happened. I went on vacation for a week and my whole process broke. I can no longer resume agents.
Same issue. 2.1.84 on macOS.
Bump.
Problem
Cause & Solution
Related: https://github.com/anthropics/claude-code/issues/44080
Bump to prevent auto-closing.
https://code.claude.com/docs/en/sub-agents#resume-subagents
Definitely happening here too, raised https://github.com/anthropics/claude-code/issues/50622 initially.
Happened here as well. It messed up my custom setup and drastically increased my token usage.
This is really painful. It's been more than a month since claude could resume an agent. You guys ever going to fix this?
I had this error today too:
That's not good. Why does it say
SendMessageis a thing?I'm using Claude Code through VSCode. I have the desktop app too. Should I be using that?
I'm on Windows 11 25H2.
Still present:
Predominantly using Claude Code 20x (across 2 different subscriptions and 2 days) -- NOT RESOLVED.
Dear Antropic Team: PLEASE FIX.
+1, this is still biting external orchestrators hard as of 2.1.143. A few data points from running Claude Code as a subprocess from a separate scheduler that needs multi-round subagent conversations:
Confirming
rebeccasofiab-stack's observation:SendMessageis documented, referenced in result strings, named in agent-type descriptions, and ToolSearch/Agent additionalProperties: falseboth reject it. There is no working "continue this agent" mechanism anywhere on the surface. The product behaves like it has one; it doesn't.Concrete operational impact for orchestrator-of-Claude patterns:
resume:.SendMessagewas supposed to abstract over.Adjacent issues that are the same family:
Suggested resolution: either (a) restore the
resume: <agent-id>parameter on the Agent tool — the additionalProperties:false schema change can keep the rest of the strictness and just whitelist resume — or (b) actually shipSendMessageas a non-deferred tool with a stable address space for agent IDs. Half-shipped is the worst of both worlds: the docs train users (and the model) to depend on a primitive that doesn't exist, and the failure mode is silent regression to expensive respawns.This has been broken since v2.1.77 (March 2026). Two months of orchestrators worldwide quietly burning 2-3x token budget on workaround respawns adds up.
I see the following description in the official documentation:
The SendMessage tool is only available when agent teams are enabled via CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.After setting the
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSenvironment variable, I can indeed see the SendMessage tool. It seems this issue can be temporarily resolved this way.hitting this a lot more lately here - i have the teams var unset too. But the docs and code seem to imply this is the 'new' resume agent path, and the model always tries to use it that way!
I'm also regularly facing this issue. Seems like a commercial decision not to fix it and force us to recreate subagents.
Duplicates of this are being filed and closed every week, and yet _nothing ever happens_ on this one.
I am (like others here) finding it harder and harder to believe that this isn't being ignored purposefully because it's a token-burner. This is a truly embarrassing mistake to have made its way into Claude Code in the first place, but it's downright _baffling_ that such important functionality (main agents being able to communicate with subagents beyond the first message without enabling an unrelated experimental flag, and therefore needing to wastefully kill and respawn/reorient a new subagent in their place instead) has been left fundamentally broken for >3 months while duplicate issues are filed (and auto-closed) over and over and over again.
Every day hundreds if not thousands of sessions kick off subagents, but anytime a subagent halts before finishing its work, for any reason whatsoever, the main agent has no way to resume or re-task it unless the user has enabled agent teams, because
SendMessage, the method that the harness is still told is the way to communicate with and resume subagents (and which does in fact succeed in doing so, when unlocked by the agent teams flag) got incorrectly locked behindCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. As a result, standard subagent routing workflows are quite broken unless the user knows to enable the agent teams flag. Anyone who doesn't will frequently have the main agent reporting thatSendMessageisn't found, contrary to their instructions, and will see that it is forced to kill and recreate any subagents that don't finish their work in one shot - sometimes repeatedly. Obviously this can pointlessly burn a _lot_ of tokens vs simply being able to useSendMessage(as documented) to instruct the halted subagent to resume or try something different.Despite how utterly trivial it should be to fix this gross blunder and make
SendMessagegenerally available again, it being erroneously gated behind the agent-teams functionality remains stubbornly uncorrected. _Why?_thanks for elaborating on this @dysangelist-1 - how do we get more attention on this issue?
I've seen it less often but also seen similar ish ones after compact (forgets tool call schema requirements etc) if that helps...
I have two max accounts, and had this problem after switching accounts and resuming a session with subagents.
I'm also seeing this issue more often now
interns at anthropic who made this DO SOMETHING
It looks like we may soon be forced into teams by default: https://github.com/anthropics/claude-code/issues/68721#issuecomment-4738437180
I get this often.
I use about 200 million tokens a week. It's disgraceful that this has not been fixed. I run 6-7 agents in parallel at times (always on 1M context). Even my subagents and agent teams are configures to run on Opus. I used to be annoyed. Now I am genuinely angry this has not been resolved. I have posted THREE (3) times about this issue + in the Anthropic Discord as well. Some months we spend thousands on tokens. It is NOT ok!