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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗