Dispatch: SendUserMessage tool not loadable — agent responds but messages never appear
Summary
Dispatch in Cowork shows user messages as "Read" but never displays the agent's response. The cowork VM agent generates responses successfully, but SendUserMessage is not available as a deferred tool, so the response is never relayed back to the Dispatch UI.
Environment
- Claude Desktop: 1.1.9310 (cb30ac) 2026-03-27T17:11:42.000Z (latest)
- Claude Code SDK in VM: 2.1.85
- macOS: Darwin 25.4.0
- Platform: Apple Silicon
Steps to Reproduce
- Open Claude Desktop → Cowork → Dispatch
- Send any message (e.g., "hi")
- Message shows "✓ Read" but no response ever appears
Root Cause (from logs)
The agent transcript (.claude/projects/-sessions-festive-confident-bohr/8ac32ec7-d4f8-43af-9a3b-b601a190468a.jsonl) shows:
- Agent receives user message "hi"
- Agent calls
ToolSearch("select:mcp__dispatch__send_message")→ found - Agent calls
ToolSearch("select:SendUserMessage")→ "No matching deferred tools found" - Agent falls back to plain text output:
"Hey Patrick! What can I help you with today?" - Plain text output is not relayed to the Dispatch UI
SendUserMessage is listed in both --allowedTools and --tools in the spawn config, but is not resolvable via ToolSearch inside the VM. The agent cannot send responses back through the dispatch channel.
Log Evidence
main.log — Turn completes "successfully" but response never renders:
[sessions-bridge] Received user message for session cse_01PhK2qdByjb9yB7aiLtqiMZ: "hi"
[Result] Turn succeeded for session local_ditto_aaec128a-6a8e-417b-b46c-754657d7f1a3
[CycleHealth] Healthy cycle: {
cycle_health: 'healthy',
had_first_response: true,
seconds_to_outcome: 23,
is_resume: false,
transcript_size_bytes: 5269
}
cowork_vm_node.log — Spawn config includes SendUserMessage in allowedTools:
--allowedTools ...,SendUserMessage,...
--tools ...,SendUserMessage,...
Agent transcript — ToolSearch fails to find it:
{"query":"select:SendUserMessage","total_deferred_tools":371}
// Result: "No matching deferred tools found"
Troubleshooting Attempted
- Cleared Cache, Code Cache, Session Storage, IndexedDB, blob_storage
- Deleted bridge-state.json (3 separate times, each creating fresh sessions)
- Deleted entire
local-agent-mode-sessionsdirectory (forced fresh setup flow withis_resume: false) - All attempts show identical behavior: backend healthy, response generated, UI shows only "Read"
Expected Behavior
SendUserMessage should be available to the cowork VM agent so dispatch responses are relayed back to the Dispatch UI.
Notes
This appears to be a regression — Dispatch was working on this same machine the previous day (2026-03-27) with extensive back-and-forth conversation history.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗