[BUG] Connectors continue to appear in `claude mcp list` even after disconnected in the Claude.ai web UI

Open 💬 6 comments Opened Apr 15, 2026 by dgc-tree

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?

Cloud connectors disconnected in the Claude.ai web UI (Settings → Customize → Connectors) continue to appear in "claude mcp list" in the Claude Code CLI. Logging out and back in (claude /logout then claude /login) does not clear them either — they re-fetch with "Needs authentication" status on every startup.

In my case I had 5 stale "claude.ai ..." entries (Figma, Figma Console, Gmail, Google Drive, Google Calendar) that I cannot remove by any available means:

  • claude mcp remove "claude.ai <Name>" returns "No MCP server found with name: ..." (they're not in ~/.claude.json user scope or any project scope).
  • The Claude.ai web UI shows them as disconnected (all show a "Connect" button).
  • Logout/login does not refresh the CLI's view of them.
  • Deleting ~/.claude/mcp-needs-auth-cache.json does not help — the file is regenerated on next startup.

It looks like the web UI and the Claude Code CLI read from different cache layers on the backend, and disconnecting in the UI does not propagate to whatever endpoint the CLI queries on startup.

Impact: these residual entries still inject their tool registrations and instruction blocks into the per-turn system prompt, which drains tokens on every message regardless of whether the tools are used. For users with several disconnected legacy connectors, this is a silent, persistent cost they cannot control.

What Should Happen?

<img width="569" height="242" alt="Image" src="https://github.com/user-attachments/assets/b7242383-fc61-4c4b-9df8-e39ac3e1208d" />

When a cloud connector is disconnected via the Claude.ai web UI, it should be removed from the CLI's view of registered MCP servers. Specifically:

  1. After disconnecting "Figma" (or any cloud connector) in the web UI, running "claude mcp list" in a new terminal should no longer show "claude.ai Figma" in the output.
  1. If a disconnected entry persists due to a cache, "claude /logout" followed by "claude /login" should force a fresh fetch and clear it.
  1. "claude mcp remove 'claude.ai <Name>'" should succeed for account-scoped cloud connectors, not just for entries in ~/.claude.json user scope or project-scope .mcp.json files. At minimum, the error message should tell the user where the entry actually lives and how to remove it.

The broader expectation: a disconnected cloud connector should not inject its tool schemas or instruction block into the Claude Code system prompt on each turn. Today, even "Needs authentication" entries appear to contribute to per-turn context size, which is a silent token drain for users who can't see or edit the source of the registration.

Error Messages/Logs

Steps to Reproduce

  1. Connect one or more cloud connectors to your Claude.ai account via the web UI (Settings → Customize → Connectors). For example, connect Figma, Gmail, Google Drive, Google Calendar.
  1. Use Claude Code for a while so the connectors get registered in the CLI's MCP list. Confirm with: claude mcp list. You should see entries like "claude.ai Figma", "claude.ai Gmail", "claude.ai Google Drive", "claude.ai Google Calendar" in the output.
  1. In the Claude.ai web UI (Settings → Customize → Connectors), click "Disconnect" on each of those connectors. Confirm the UI state flips to a "Connect" button for each one — i.e. they are fully disconnected at the account level.
  1. In a new terminal, run: claude mcp list. Observed: the disconnected connectors are still listed, each with status "Needs authentication" or "Failed to connect". They have not been removed.
  1. Try to remove one explicitly: claude mcp remove "claude.ai Figma". Observed: "No MCP server found with name: claude.ai Figma" — the CLI cannot remove them because they're not in user scope (~/.claude.json → mcpServers) or any project scope (.mcp.json).
  1. Force a session refresh: claude /logout then claude /login then claude mcp list. Observed: after fresh login, the same disconnected connectors reappear in the list, unchanged.
  1. (Optional) Delete the local auth cache and retry: rm ~/.claude/mcp-needs-auth-cache.json then claude mcp list. Observed: entries still return — the cache file is regenerated from whatever backend endpoint the CLI queries on startup. The list of cloud connectors is not stored locally; it's fetched live from the Claude.ai API, and that endpoint does not reflect the web UI's disconnect state.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Code CLI (latest as of 2026-04-15), macOS 15 (Darwin 25.3.0)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

=== Environment ===

Claude Code CLI (latest as of 2026-04-15), macOS 15 (Darwin 25.3.0), account has several cloud connectors that were connected at various points in the past.

=== Minimal repro ===

Any account with at least one previously-connected cloud connector that has since been disconnected in the web UI will reproduce this. No specific project, file, or code is needed — it's purely about the CLI's view of account-level MCP registrations.

View original on GitHub ↗

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