MCP connector stuck on a false "Needs Auth" in VS Code; re-authorizing cannot clear it — only disabling and re-enabling the server in /mcp
What's Wrong?
A claude.ai MCP connector drops mid-session and then reports "requires authentication" while the stored token is still perfectly valid. Re-authorizing does not clear the state. Only disabling and re-enabling the server in /mcp restores it — and when it comes back, it connects with no authentication prompt at all, which proves the token was valid the whole time and the "Needs Auth" state was false.
The misleading part is what the UI does with that false state: it offers an Authenticate button, i.e. it sends you into an OAuth flow you do not need and which does not fix anything. The actual remedy is not offered anywhere in the UI.
The client appears to cache a failed connection and then skip retrying. That is visible in Claude Code's own status text for other failing servers in the same session:
"Skipping connection (recent failure cached — retries automatically in 15 min, or edit the plugin config to retry now)"
The 15-minute auto-retry also means that simply waiting can "fix" it, which makes the whole thing look intermittent and hard to pin down.
What Should Happen?
- A successful re-authorization should invalidate any cached connection failure for that server, rather than leaving the client skipping reconnects with a fresh valid token.
- When the client holds a token it has not actually validated, it should attempt Reconnect before Authenticate — not send the user into an OAuth flow that is both unnecessary and ineffective.
Steps to Reproduce
- Connect a
claude.aiconnector (here: Microsoft 365) in the VS Code extension; confirm its tools are available. - Let the connection drop mid-session (the tools disappear from the session).
- Re-authorize the connector from a different Claude Code install on the same account. No effect on the affected session.
Developer: Reload Window. The server reappears in the list but as "requires authentication", still with no tools.- Follow the offered authenticate path. In my case this led to a Microsoft sign-in that rejected a known-good password (
AADSTS50126). I cannot attribute that rejection to Claude Code, but it meant the remedy the UI offered was not a way out. - Close and reopen VS Code, then disable and re-enable the server in
/mcp.
Expected after step 3 or 4: the connector reconnects with its valid token.
Actual: only step 6 works, and it reconnects with no auth prompt — confirming the token was valid from step 2 onward.
Claude Code Version
2.1.296 (VS Code extension)
Platform
Claude Code for VS Code (VS Code 1.141.0)
Operating System
Windows Server 2019 Datacenter, build 17763, accessed over RDP
Additional Information
Related issues — this is reported but unfixed:
- #55021 — the same bug, same connector (
claude.ai Microsoft 365), same VS Code extension, on Windows. Its list of failed workarounds (Reload Window, sign out/in, disconnect/reconnect at claude.ai) matches mine exactly. It was closednot_plannedby the stale bot and is now locked, so it cannot be added to — which is why I am filing fresh rather than commenting. - #89818 — "Needs Auth" after VS Code restart despite a valid token; there, plain Reconnect was enough. In my case it was not — only the disable/re-enable cycle cleared it. That issue is also now labelled
stale. - #99242 — the same stuck state for the
claude.aiSlack connector in the CLI. That reporter tried a full restart and a connector remove/re-add without success. - #98495 — tools vanish after re-auth; only exit-and-resume restores them.
What I think is new here: none of the four reports mention disabling and re-enabling the server in /mcp. The reporters of #55021 and #99242 both exhausted restart, reload and remove/re-add and stopped there. If that is the general workaround, it is worth surfacing in the UI, because the path the UI does suggest leads away from it.