claude.ai connectors never load in interactive /mcp; only visible to child processes that inherit an active session's environment
claude.ai connectors never load in interactive /mcp; only visible to child processes that inherit an active session's environment
Summary
My claude.ai (Anthropic-managed org) connectors are effectively unavailable in Claude Code. The behavior depends entirely on how you look:
- Interactive
/mcp(in a running session): shows zero claude.ai connectors. The model has no connector tools. claude mcp listin a fresh terminal (a normal login shell, not spawned by Claude): shows zero claude.ai connectors — only locally-configured stdio servers.claude mcp listspawned as a child process of an active session (inheritsCLAUDECODE=1/CLAUDE_CODE_SESSION_ID): shows all ~28 claude.ai connectors, several reporting✔ Connected.
So the connector set is only reachable from within an active session's process tree, yet the interactive session's own /mcp still shows none of them. Running /login populates /mcp for that one session; everything reverts on the next session.
Net effect: connector tools are never available to the model in a normal session without manually running /login first.
Environment
- Claude Code: 2.1.181 (native install, auto-updates off)
- OS: macOS (Darwin 25.5.0)
- Auth: enterprise / org account; ~28 claude.ai-synced (Anthropic-managed) connectors
- Verified the interactive session and the in-session
claude mcp listresolve to the same binary:~/.local/bin/claude→versions/2.1.181, and the session'sCLAUDE_CODE_EXECPATHis alsoversions/2.1.181.
Steps to reproduce
- Sign in to an org account with claude.ai connectors configured.
- Fresh terminal, run
claude mcp list. → Only locally-configured servers appear; no claude.ai connectors. - Start an interactive Claude Code session, run
/mcp. → No claude.ai connectors listed. - From inside that session, shell out and run
claude mcp listagain (so it inheritsCLAUDECODE/CLAUDE_CODE_SESSION_ID). → All ~28 claude.ai connectors appear, several✔ Connected. - Ask the model to use a connector tool. → Reports the connector/tools are not available.
- Run
/login. → Connectors now appear in/mcpand their tools become usable. - Start a new session. → Back to step 3:
/mcpempty again.
Expected behavior
A normal interactive session (and a normal claude mcp list) should load and display the claude.ai connectors, so their tools are available to the model without re-running /login every session.
Actual behavior
Interactive /mcp lists zero claude.ai connectors and the model has no connector tools. They become visible only to a child process that inherits a live session's environment, or in /mcp immediately after /login — and never persist to the next session.
Evidence
claude mcp list as a child of an active session — all ~28 claude.ai connectors are listed:
claude.ai Atlassian: <url> - ...
claude.ai Slack: <url> - ...
claude.ai BetterUp MCP: <url> - ...
... (~28 claude.ai connectors total)
<local stdio server> - ✔ Connected
The same claude mcp list in a fresh terminal lists only the local stdio server — none of the claude.ai connectors. And the interactive /mcp of the very session whose child process showed all ~28 shows none.
Per-connector logs confirm the connectors are reachable. ~/Library/Caches/claude-cli-nodejs/<project>/mcp-logs-claude-ai-<name>/*.jsonl show connections via the proxy https://mcp-proxy.anthropic.com/v1/mcp/<mcpsrv_id>, e.g.:
{"debug":"Initializing claude.ai proxy transport for server mcpsrv_..."}
{"debug":"Using claude.ai proxy at https://mcp-proxy.anthropic.com/v1/mcp/mcpsrv_..."}
{"debug":"Successfully connected (transport: claudeai-proxy) in 954ms"}
{"debug":"Connection established with capabilities: {\"hasTools\":true,...}"}
So the transport layer works; the gap is that the interactive session does not surface these connectors in /mcp, and a normal (non-inherited) invocation doesn't see them at all.
The model's own tool list confirms it: in a session, the only available MCP tools are from the locally-configured stdio server — zero tools from any claude.ai connector, including ones claude mcp list reports as ✔ Connected (e.g. Slack). The connectors contribute no usable tools to the session at all.
Ruled out (during local debugging)
- Local credential persistence — connector OAuth tokens are held server-side by the proxy, not locally; not the cause.
- Account auth — account token is valid; chat works throughout.
- Workspace trust — reproduces in both
hasTrustDialogAccepted: trueandfalseprojects. - Stale/duplicate versions — interactive session and
claude mcp listboth run the identical 2.1.181 binary. - Stale daemon / needs-auth cache / full machine restart — none resolve it.
Impact
claude.ai connectors are effectively unusable in normal interactive sessions — the model has no connector tools unless the user manually /logins at the start of every session.
3 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Confirming this is still broken on Claude Code CLI 2.1.214 (updated from 2.1.207 hoping the 2.1.208/2.1.211 MCP-reconnection fixes would resolve it — they didn't).
Symptom:
claude mcp listand the claude.ai Connectors UI both show the claude.ai-hosted connector (Wix, in our case) as "✔ Connected", and the Connectors UI confirms all tools are registered server-side. But the CLI never exposes any of that connector's tools to a session —ToolSearchfinds zero matches even for exact known tool names (e.g.WixREADME,ExecuteWixAPI,ListWixSites).--debug --debug-filelogs show the difference: local stdio MCP servers (e.g. our@playwright/mcpinstall) get an explicit "Starting connection" log line on session start. claude.ai-hosted connectors never do — the async step that fetches their tool schemas silently never fires, in every session we've tried, including fresh restarts and fresh subagents.Ruled out on our end: stale local auth cache (
~/.claude/mcp-needs-auth-cache.jsoncleared, no effect), missing per-tool enablement toggle in the Connectors UI (checked, all present), session-refresh timing (persisted across many fresh sessions over multiple days).Workaround in use: driving the target site via Playwright MCP browser automation instead of the hosted connector. Works, but obviously not the intended path.
Happy to share the debug log if useful.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.