Remote claude.ai MCP integrations silently drop tools on slow/failed session init, no mid-session recovery

Resolved 💬 3 comments Opened Apr 21, 2026 by skiley22 Closed Apr 25, 2026

Summary

When a conversation session starts, Claude Code compiles the deferred tools list once from all connected MCP servers. For remote claude.ai OAuth integrations (Atlassian, Slack, Sentry, etc.), if the schema fetch is slow or fails at that moment, those tools are silently dropped from the session with no warning and no recovery path. Local/self-hosted MCP servers (grafana, stoa, intellij, etc.) are unaffected.

Behavior

  • claude mcp list reports ✓ Connected for affected servers (e.g. claude.ai Atlassian)
  • But the tools from those servers do not appear in the session's deferred tools list
  • No error, warning, or degraded-mode indication is shown to the user
  • The only workaround is to start a new session — there is no mid-session recovery

Root Cause (suspected)

Remote claude.ai integrations involve OAuth token exchanges with external endpoints (e.g. mcp.atlassian.com, mcp.slack.com) and have higher/more variable latency than local stdio or self-hosted HTTP MCP servers. If the remote schema fetch doesn't complete before the tool list is frozen at session start, those tools are permanently missing from that session.

The ✓ Connected status in claude mcp list reflects URL reachability, not whether tool schemas were successfully loaded into the current session — creating a misleading signal.

Specific gaps

  1. No retry or lazy-load for remote tool schemas. If a remote schema fetch times out at session start, the tool is silently dropped with no retry attempt.
  2. Silent failure with no user visibility. There is no indication that tools are missing from the session. The deferred tools list simply omits them.
  3. Misleading claude mcp list status. ✓ Connected implies the integration is working, but does not reflect whether tools were loaded into the active session.
  4. One-shot initialization not suited for remote OAuth servers. Freezing the tool list at session start is fine for fast, deterministic local stdio servers, but remote OAuth servers have variable latency and transient failures that benefit from lazy-load or reconnect paths.

Expected Behavior

  • If a remote MCP schema fetch fails or times out at session start, the user should be notified (e.g. "Atlassian tools unavailable this session — connection timed out at startup")
  • Ideally, a mid-session reconnect path should exist (e.g. /mcp reconnect <server> or automatic retry on first tool invocation)
  • claude mcp list status should distinguish between "endpoint reachable" and "tools loaded in current session"

Environment

  • Claude Code version: 2.1.116
  • Auth method: claude.ai (enterprise)
  • Affected integrations: claude.ai Atlassian, claude.ai Slack, claude.ai Sentry (all remote OAuth integrations)
  • Unaffected: grafana, stoa, intellij, teamcity (local/self-hosted HTTP/stdio)

View original on GitHub ↗

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