[BUG] Desktop: sessions spawned via spawn_task chips start without external MCP servers (local stdio + claude.ai connectors) until first user message

Open 💬 0 comments Opened Jun 11, 2026 by SYNTYZE

Environment

  • Claude Desktop app (macOS): 1.11847.5
  • Claude Code (Code tab / ccd): 2.1.131
  • OS: macOS (Darwin 25.5.0)

Summary

Sessions spawned from background-task chips (created via the mcp__ccd_session__spawn_task tool) start executing their prompt immediately, but none of the externally configured MCP servers are available during this autonomous phase:

  • Local stdio servers from claude_desktop_config.json (e.g. a markdown-vault server, firecrawl, playwright)
  • claude.ai connectors (e.g. ClickUp, Notion, PubMed)

They are missing from the deferred-tools list entirely: keyword ToolSearch queries (even a plain clickup) return "No matching deferred tools found", and exact select:mcp__<server>__<tool> queries fail as well. Only app-internal MCP servers (ccd_session, ccd_session_mgmt, scheduled-tasks, mcp-registry) and built-in tools are available.

As soon as the user sends their first message into the spawned session, all MCP servers become available on the next turn.

Reproduction

  1. In a project with MCP servers configured (local stdio via claude_desktop_config.json and/or claude.ai connectors), have Claude create a background-task chip via spawn_task.
  2. Click the chip; the spawned session starts working on its prompt autonomously.
  3. The session tries to use an MCP tool (directly or via ToolSearch) → not found, including exact select: queries.
  4. Send any user message into the spawned session (a plain "retry" suffices) → on the next turn the same MCP tools resolve and work.

Observed timing (3 spawned sessions, same project, times UTC)

| Session | Spawn start | MCP lookups failing | First user message | MCP working |
|---|---|---|---|---|
| A | 07:32:06 | 07:33–08:18 | 08:41:23 | 08:42:59 |
| B | 07:32:12 | 07:32–07:47 | 08:45:22 | 08:46:07 |
| C | 07:32:15 | 07:32–07:33 | 08:45:34 | 08:46:20 |

In session A, even select:mcp__<pubmed-connector-id>__search_articles (exact tool names) returned "No matching deferred tools found" 19 minutes after session start, while mcp__ccd_session__mark_chapter (app-internal) worked from the start.

Expected

Spawned sessions should have the same MCP servers available as a normal interactive session in the same project — or at least the same set that scheduled-task sessions get.

Contrast: scheduled tasks are NOT affected

Scheduled-task sessions (also started without any user interaction, same machine, same day) had all external MCP servers available immediately: successful select: ToolSearch + MCP calls within seconds of session start (03:22 and 03:27 UTC runs verified). So this appears specific to the spawn_task session initialization path, not a general headless/non-interactive limitation.

Impact

Spawned sessions silently degrade: they skip or defer MCP-dependent steps (task-tracker updates, knowledge-base lookups) unless the user notices afterwards and manually pokes the session. Since the whole point of spawn_task is fire-and-forget background work, the MCP-dependent parts of those prompts are effectively never executed.

View original on GitHub ↗