[BUG] ListAgents / SendMessage missing from tool registry in Desktop scheduled-task and Remote Control sessions (bisected to Desktop 1.44121.4 -> 1.46388.1)
Summary
Since Claude Desktop auto-updated from 1.44121.4 to 1.46388.1, the built-in cross-session messaging tools ListAgents and SendMessage are no longer registered in Code sessions that Desktop starts as scheduled tasks, or that are driven through Remote Control.
They are absent from the tool registry and from the deferred-tool list — ToolSearch returns No matching deferred tools found — so this is not a permission-rule problem.
Sessions started interactively on the desktop, and sessions started from the standalone CLI, still have both tools. Same machine, same account, same settings, same hour.
Evidence
All four were run on the same machine, same account, same settings, within a few hours of each other:
| How the session was started | ListAgents |
|---|---|
| Desktop, interactive local Code tab | present (listed 7 agents) |
| Desktop, scheduled task (routine) | absent |
| Desktop, Remote Control (driven from phone) | absent |
| standalone CLI ~\.local\bin\claude.exe (v2.1.250) | present (listed 3 agents) |
The two "absent" cases were asked explicitly to check their own tool list. Both answered that neither ListAgents nor SendMessage exists, and that ToolSearch returns No matching deferred tools found.
Bisect boundary
From %LOCALAPPDATA%\AnthropicClaude\Squirrel-Update.log:
[04/09/26 13:25:29] info: ApplyReleasesImpl: Writing files to app directory:
C:\Users\<user>\AppData\Local\AnthropicClaude\app-1.46388.1
[04/09/26 13:25:48] info: ApplyReleasesImpl: cleanDeadVersions:
exclude current version folder app-1.44121.4
Timeline (JST):
- 2026-09-04 04:30 — a scheduled-task session ran
ListAgents, then sent twoSendMessagecalls. Both succeeded. Recorded in the session log. Desktop was1.44121.4. - 2026-09-04 13:25:29 — Desktop auto-updated
1.44121.4->1.46388.1. - 2026-09-04 15:57 onward — same routines, same settings, no configuration changes: both tools gone.
- Still gone on
1.46388.2(09-04 23:18) and1.46388.3(09-05 05:50).
Note on the bundled runtime: Desktop's bundled Claude Code was still 2.1.255 at 15:57; 2.1.260 was only written at 16:18. The regression therefore precedes the runtime bump, and the variable that actually changed across the boundary is the Desktop host version.
Ruled out
- No
permissions.denyentry forSendMessageorListAgents(checked both user and project settings). - Version requirements are met: native Windows needs v2.1.234+, same-machine messaging needs v2.1.248+. The standalone CLI here is
2.1.250and Desktop's bundled runtime is2.1.260. - Not
crossSessionInbound— that governs inbound delivery, not tool registration, and the working and broken sessions share the same settings. - Not a
ToolSearchusage problem — the tools are absent from the deferred list as well. - No configuration on this machine was changed between the working run (04:30) and the broken runs (15:57 onward).
Related, but distinct
The Desktop MCP surface (mcp__ccd_session_mgmt__send_message, list_events) refuses with:
This tool is unavailable in unattended sessions (scheduled-task runs and remote-dispatched trees).
This tool is unavailable in sessions dispatched by a remote orchestrator.
That reads like an intentional safety limit on the Desktop MCP surface, and is not what this report is about. This report is about the built-in ListAgents / SendMessage disappearing from the tool registry entirely in those same session kinds. The cross-session messaging documentation does not describe tool registration as conditional on how the session was started.
Environment
- Windows 11 (10.0.26200)
- Claude Desktop
1.46388.3, bundled Claude Code runtime2.1.260 - standalone Claude Code
2.1.250
Expected
Sessions started by Desktop as scheduled tasks, or driven through Remote Control, should keep ListAgents / SendMessage, as they did on 1.44121.4.
If the gating is intentional, please document it and ideally make it configurable. Automated routines that need to report a finding to a human-driven session currently have no direct channel at all: they cannot use the built-in tools (absent), and the Desktop MCP surface refuses them by design.
3 Comments
Update 2026-09-05. One correction and two additions after further testing on the same machine and account. Latest installed: Desktop
1.46388.3, bundled Claude Code2.1.260(2.1.255also present), standalone CLI2.1.250, Windows 11 10.0.26200.1. Correction: an interactive Desktop session has
ListAgentsbut notSendMessageThe Summary above says interactive Desktop sessions and the standalone CLI "still have both tools", but the evidence table only recorded
ListAgents;SendMessagehad not been separately verified for those rows. Rechecked today with1.46388.3installed:Desktop, interactive Code-tab session. Launched on the PC from a task chip in the Desktop Code tab (not the plain new-session button), steered from the PC keyboard. It has a Remote Control bridge (it appears in the Claude mobile app's session list), which seems to be the default for Desktop Code-tab sessions on this account; a Code-tab session opened with the plain new-session button was not separately tested.
ListAgents: in the tool list and works. It listed 11 peers (7 local interactive sessions, 4 Remote Control sessions).SendMessage: not in the tool list.ToolSearchwithselect:SendMessagereturnsNo matching deferred tools found.SendMessagefrom a standalone CLI session on the same machine arrived in this session (10:39 and 10:44 JST).Standalone CLI
~\.local\bin\claude.exe(v2.1.250), run asclaude -pfrom the same project directory, same account:ListAgents: present.SendMessage: present as a deferred tool.ToolSearchwithselect:SendMessagereturns[{"type":"tool_reference","tool_name":"SendMessage"}](from that session's transcript, not the model's summary). An interactive CLI session on the same machine also sent messages successfully today (the two deliveries above).Corrected table. The interactive and CLI rows were rechecked today; the two absent/absent rows are carried over from the original report (observed on
1.46388.1through1.46388.3, see Bisect) and were not re-run today.| How the session was started |
ListAgents|SendMessage||---|---|---|
| Desktop, Code tab (chip-launched, Remote Control bridge present, driven from PC) | present | absent |
| Desktop, scheduled task (routine) | absent | absent |
| Desktop, Remote Control (driven from phone) | absent | absent |
| standalone CLI
~\.local\bin\claude.exe(v2.1.250) | present | present (deferred) |So the Summary's statement that interactive Desktop sessions "still have both tools" is wrong for
SendMessageon1.46388.3; none of the three Desktop-started session kinds tested here has it, while the standalone CLI on the same machine does. SSH and WSL Code-tab sessions were not tested. WhetherSendMessagewas present in interactive Desktop sessions before the update, I cannot say: I have no pre-update record of it there. The only pre-update record remains the 04:30 JST 2026-09-04 scheduled-task run in the Bisect section, which sentSendMessagesuccessfully on1.44121.4.Session transcripts (JSONL) for the Desktop session and the CLI check are available on request.
2. Possibly separate: scheduled-task runs are no longer listed in the Claude mobile app
Until recently, scheduled-task runs on this machine showed up in the Claude mobile app's session list (Code tab) after they ran. I have no log of that state and cannot pin the change to the update date from records. Now they still execute (
lastRunAtadvances, results land on disk), but they are not listed. Concretely, at 10:28 JST today the mobile app's Code tab for this account listed exactly one session, the Desktop session described above; the scheduled-task runs that executed on the same machine at 08:10 and 09:46 JST (bylastRunAt) were not listed.The mobile list appears to show only sessions with a Remote Control bridge (the other local sessions that
ListAgentssaw were not listed either), so this may be "scheduled-task runs no longer get a Remote Control bridge" rather than a listing defect; our local notes for a scheduled run on 2026-09-04 16:44 JST record it as having no remote bridge. This may be unrelated to the tool removal; I can file it separately if that is more useful.3. On the docs
The Desktop docs, under "Work across sessions", say: "Through this surface, Claude can't send cross-session messages from a session nobody is watching, such as a scheduled-task run, and can't deliver messages into one." That sentence is about the Desktop app's own session-management surface, the same one whose refusal text is quoted under "Related, but distinct" above, and the same page separates it from the built-in feature: "Cross-session messaging separately lets Claude message your other Claude Code sessions, including terminal sessions." The cross-session messaging page names only a version shortfall or a deny rule as things that remove the tools; both are ruled out above.
If the built-in tools are gated on the same "unattended" criterion as the Desktop surface, that would not by itself explain the result in section 1: a person was at the keyboard, though a Remote Control bridge was present.
Possibly related open Windows Desktop issues: #91211 (background sessions stop processing cross-session messages) and #89658 (peer discovery does not scan
\\.\pipe\LOCAL\). Both are about delivery and discovery between sessions that have the tools; this issue is about the tools not being registered at all, so I have kept it separate.Follow-up to section 1 above: the untested case is now tested.
A Desktop Code-tab session opened with the plain new-session button (not from a task chip), driven from the PC keyboard, same machine and account,
1.46388.3:ToolSearchwithselect:SendMessagereturnsNo matching deferred tools found.SendMessageis not in that session's tool list and cannot be loaded.So the chip-launched row in the corrected table is not special; a plain interactive Desktop Code-tab session gives the same result.
Two more data points from today, same machine and account.
Standalone CLI, both sides. The standalone CLI has since auto-updated to
2.1.261. Two interactive CLI sessions started from PowerShell (~\.local\bin\claude.exe) exchangedSendMessagein both directions, five round trips, without issue. So same-machine discovery and the named-pipe path work on this machine; the problem is specifically that Desktop-started sessions (bundled runtime2.1.260) don't getSendMessageregistered. This also separates it from #89658, where the pipe itself is not found.Cost of the workaround. Starting sessions from the standalone CLI restores messaging, but those sessions don't have the Desktop app's built-in browser tools (
preview_startis not registered;list_connected_browsersreturns[]), so work that depends on the Desktop browser can't move to the CLI. On this build a session can have cross-session messaging or the Desktop toolset, not both.Not closing this; nothing is fixed on our side.