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
- 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.
- Click the chip; the spawned session starts working on its prompt autonomously.
- The session tries to use an MCP tool (directly or via ToolSearch) → not found, including exact
select: queries.
- 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.
Environment
Summary
Sessions spawned from background-task chips (created via the
mcp__ccd_session__spawn_tasktool) start executing their prompt immediately, but none of the externally configured MCP servers are available during this autonomous phase:claude_desktop_config.json(e.g. a markdown-vault server, firecrawl, playwright)They are missing from the deferred-tools list entirely: keyword ToolSearch queries (even a plain
clickup) return "No matching deferred tools found", and exactselect: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
claude_desktop_config.jsonand/or claude.ai connectors), have Claude create a background-task chip viaspawn_task.select:queries.Observed timing (3 spawned sessions, same project, times UTC)
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, whilemcp__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.