[BUG] Cross-session send_message from an auto-permission-mode sender is silently dropped (45s no-ack settle); bypassPermissions sender delivers
Summary
On Claude Desktop for Windows 1.46388.3 (Code tab), a cross-session send_message (ccd_session_mgmt MCP) from a sender session whose permission mode is auto is silently discarded. The same message from a bypassPermissions sender delivers normally. The sender's tool result still reports "Message sent/queued", and the recipient's conversation UI renders the message block optimistically — but no user turn is ever written to the recipient's transcript and no model turn runs.
Likely related: #86014 (sent-but-never-delivered), #86059 (recipient loses the message). This report adds a root-cause correlate (sender permission mode) and a deterministic same-session A/B.
Log signatures (%LOCALAPPDATA%\Claude\Logs\main.log)
Delivered send — a Mapping line follows within seconds:
21:41:34 [info] Sending message to session local_<recipient>
21:41:34 [info] Mapping internal session local_<recipient> to CLI session <uuid>
Dropped send — no Mapping line ever appears; 45s (sometimes 90s) later:
[warn] [LocalSessionManager] peer input <uuid> for local_<recipient> drew no acknowledgement from the CLI in 45001ms — settled as undelivered (ownedCycle=true)
[info] [LocalSessionManager] CLI undelivered input <uuid> for local_<recipient> without running it — settled (hold=false cycle=true next=false)
[info] [CCD CycleHealth] healthy cycle for local_<recipient> (45s, hadFirstResponse=false)
The message is then discarded with no retry and no transcript entry on either side beyond the sender's tool_use record.
Decisive A/B
One hand-opened session, same cwd, same everything: in auto permission mode its pings to an idle recipient were settled-as-undelivered at 45s; after flipping only the permission mode to bypassPermissions, the very next ping delivered instantly and the Mapping line appeared. classifierSummaryEnabled was unchanged (true) across the flip.
Correlation across one evening of testing: 14/14 dropped sends came from auto-mode senders; every delivered send came from a bypassPermissions sender.
Ruled out by direct testing
Recipient busy vs idle (drops occur against a verified-idle recipient), sender model (opus and a Claude 5 model both), chip/spawn_task-derived vs hand-opened sender, fresh CLI process (close and reopen still drops), cwd, recipient session identity (multiple recipients affected).
Impact
Unattended execution sessions typically run in auto mode; their report-back messages are lost in batches with a false "sent" result on the sender side. We count 25 settled as undelivered events in one machine's main.log across 6 days.
Workarounds we use
- Switch sessions that must report back via
send_messageto bypass permissions. - A verification script + hooks: after each send, a detached checker greps main.log for the settle signature and the recipient transcript for a message fingerprint, then instructs the sender to resend on a confirmed drop.
Environment
Claude Desktop 1.46388.3 (MSIX), Windows 11 Pro 26100, Code tab sessions, ccd_session_mgmt send_message.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗