[BUG] Custom/local MCP servers not available until after first response in Desktop App
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?
Local/custom MCP servers are not available on the first message in a new Desktop App conversation. Only Anthropic-hosted connectors (ClickUp, HubSpot, Figma, etc.) load in time. Local MCP servers appear in the context (via <system-reminder> tags) only after the first response round-trip. Claude itself confirmed the deferred tool listings for local servers updated between the first and second message in the same session.
This does NOT occur in the CLI — only the Desktop App.
What Should Happen?
All configured MCP servers — both Anthropic-hosted connectors and local/custom servers — should be available from the very first message in a new conversation, as they are in the CLI.
Error Messages/Logs
No error messages. The MCP servers do eventually load — they just aren't available for the first message. Claude's first response lists only Anthropic-hosted connectors and states it has no access to the local MCP tools. By the second message, the same tools are fully available.
Steps to Reproduce
Steps to Reproduce
- Configure one or more local/custom MCP servers (e.g., Xero, or any local MCP server)
- Also have at least one Anthropic-hosted connector configured (e.g., ClickUp, HubSpot)
- Open a new conversation in the Claude Code Desktop App
- As the first message, ask: "What MCP servers do you have access to?"
- Claude will list only Anthropic-hosted connectors — local/custom MCP servers are missing
- Send a second message asking the same question
- Claude now correctly lists all MCP servers including local/custom ones
To confirm it's Desktop App specific:
- Open the Claude Code CLI in the terminal with the same configuration
- Ask the same question as the first message — all MCP servers (including local) are available immediately
Tested with multiple different local MCP servers — the issue is not specific to any one server.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.97
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Additional Information
macOS (Darwin 23.5.0)
Reproduced consistently across multiple new conversations
Tested with multiple different local/custom MCP servers — all exhibit the same behavior
The local MCP servers are fully connected and functional (not a connection failure) — they just resolve too late for the first message
The Anthropic-hosted connectors that DO load on the first message: ClickUp, Granola, Claude Preview, Claude in Chrome, Cloudflare, HubSpot, Figma, MCP Registry, Scheduled Tasks
Likely a race condition in the Desktop App's initialization pipeline where local MCP server resolution is async and doesn't complete before the first message is processed
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗