[BUG] Scheduled tasks (Cloud) execute before MCP servers finish initializing — tools unavailable on first turn

Resolved 💬 3 comments Opened Apr 3, 2026 by hg-yang Closed Apr 6, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When a scheduled task (Cloud / Web) runs, MCP server tools are not available during the first conversation turn. The tools only appear in subsequent turns after the MCP servers finish their handshake.

Since scheduled tasks have only one user turn (the prompt), the MCP tools are never discovered, and the task fails.

Actual Behavior

  • First turn: ToolSearch for MCP tools returns no matches
  • The model concludes MCP servers are not connected and exits
  • If a manual session is opened and a second message is sent, the tools appear in <system-reminder> and work correctly

Tested twice with identical configuration (Supabase, Slack, Notion connectors all attached):

  • Manual session: First turn fails to find MCP tools → user sends follow-up message → second turn has all MCP tools available → works normally
  • Scheduled task: First turn fails → no second turn → task fails permanently

What Should Happen?

MCP server initialization should complete before the task prompt is executed, so that all connected tools are available from the first turn.

Error Messages/Logs

Steps to Reproduce

  1. Create a scheduled task on Claude Code Web with MCP connectors attached (e.g., Supabase, Slack, Notion)
  2. Set the instruction to a skill/prompt that depends on MCP tools
  3. Run the task (manually via "Run now" or wait for the schedule)

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.91

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗