SendMessage tool missing in desktop Code tab session while ListAgents shows peers (2.1.258, Windows)
Summary
In a Claude Code desktop app (Windows, Code tab) session, ListAgents lists peer sessions and instructs "send with SendMessage({to: "<name>", message: "..."})", but the SendMessage tool is not present in the session's toolset. ToolSearch with select:SendMessage returns "No matching deferred tools found".
A sibling session on the same machine and same account ("Orchestration", cwd D:\dev\GitHub) did have SendMessage and used it successfully to message the same peer.
Environment
- Claude Code 2.1.258 (
claude --version) - Windows 11 Enterprise 10.0.26200
- Claude desktop app, Code tab (session reports "running within the Claude Agent SDK")
- Model: claude-fable-5-1
~/.claude/settings.json:permissions.defaultMode: "dontAsk",crossSessionInbound: "accept", nopermissions.denyentries. No project settings gate the tool.
Steps to reproduce
- Open the Claude desktop app, Code tab, start a session in
D:\dev\GitHub. - Prompt:
ListAgents then SendMessage aria-80 hello. ListAgentssucceeds and lists 21 peers, includingaria-80 [056652] · interactive · idle.- The model has no
SendMessagetool to call.ToolSearch("select:SendMessage")finds nothing.
Expected
SendMessage is available whenever ListAgents is available and reports peers, per https://code.claude.com/docs/en/cross-session-messaging ("messaging is on with nothing to enable" once on 2.1.234+ on Windows).
Actual
ListAgents present, SendMessage absent. The desktop-app send_message MCP tool (session_mgmt) is not a substitute: it requires a CCD session id and cannot resolve peer names such as aria-80.
Notes
- Reproduced twice in the same session (tool list does not change mid-session).
- Another session started on the same machine had the tool, so the gate appears to be per-session at startup, not version or settings.