[BUG] Claude Code For VS Code does not use mcp servers at all
Open 💬 22 comments Opened Jan 18, 2026 by Orbject
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?
This vscode extension for some reason asks me to jump into terminal mode to add mcp servers.
But even then, terminal variant recognizes and connects to added mcps, but this extension does not.
I asked claude code itself to figure out problem just in case, still no luck.
What Should Happen?
It should show and use added MCPs.
Error Messages/Logs
Steps to Reproduce
claude mcp add <my mcp> enter VS Code extension, list mcps with /mcp, nothing appears
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.11
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
<img width="442" height="206" alt="Image" src="https://github.com/user-attachments/assets/1b53b722-dc8b-435f-918e-e649ad372cea" />
22 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Unsure if this is 100% the same issue, but I had similar symptoms where MCP servers used to work and were no longer loading in the VSCode extension. They load fine in the CLI. For me, the fix was to move them in my ~/.claude.json from the
projects.[project_directory].mcpServersjson path into the rootmcpServersjson path which was emptyConfirming this issue on v2.1.31 (macOS)
I'm experiencing the same behavior on the VSCode extension version 2.1.31.
Environment
Symptoms
claude mcp listshows all 5 servers connected ✓Key Observation
This appears to be a UI display bug only - the MCP servers ARE functional despite the panel showing none. The disconnect is between:
Configuration
Servers configured in both:
.mcp.jsonfilemcpServersin~/.claude.jsonWith
enableAllProjectMcpServers: trueand servers listed inenabledMcpjsonServersin.claude/settings.local.json.Workaround Tested
The suggestion to move servers to root
mcpServersin~/.claude.jsonwas not necessary in my case - servers work fine at project level, it's just the UI that doesn't reflect it.This issue should remain open as it affects user experience and causes confusion about whether MCP servers are actually running.
Experiencing the same issue on Windows 11 / Cursor with Claude Code extension v2.1.31.
Setup: MCP servers configured via CLI (claude mcp add), stored in ~/.claude.json under both project-scoped and user-scoped entries. Servers connect fine in the terminal (/mcp shows "connected" with all tools).
Problem in native UI: Opening a new Claude Code session in the VS Code extension and running /MCP Status shows "No running MCP servers."
Workaround: Sending a prompt that triggers MCP tool discovery causes the servers to initialize. I used:
"What MCP servers are available?"
After that single prompt, running /MCP Status immediately shows all servers as connected with tools available. They work correctly for the rest of the session.
This suggests the extension is lazy-loading MCP connections rather than initializing them on session start. The terminal version initializes them eagerly on launch, which is the expected behavior. The native UI should do the same.
@PartisanTactical your suggestion does not work for me, this needs a serious fix
Can reproduce on VSCode 1.109.2 (MacOS 26.2)
Same here.
Claude Code v2.1.44
Claude Code VS code extension at the sidebar
<img width="383" height="422" alt="Image" src="https://github.com/user-attachments/assets/5a267504-ddbf-4e89-ac06-8b5babb6fd07" />
Terminal
<img width="168" height="86" alt="Image" src="https://github.com/user-attachments/assets/c4e6786e-5c1a-426a-9819-8af6c0588580" />
Terminal successfully connects to Claude in Chrome.
Claude Code VS code extension asks to create a Playwright script.
@PartisanTactical it activates mcp servers with 2 issues
This bug is serious in my opinion. Without mcp, the claude code extension is 90% useless.
Same issue here
Can confirm here as well.
I was able to get mine working.
First, I needed three separate MCP JSON files, all pointed to the same "mcp-bridge.js" file (nearly identical, but with some minor differences):
.vscode/mcp.jsonfor GitHub Copilot.claude/.mcp.jsonfor Claude VSCode (I added a "cwd" setting with an absolute path, which may have helped it work).mcp.jsonfor Claude CLI (running under WSL in my case)IIRC, this is what got the extension to at least attempt to connect to my MCP server. Then it reported "Failed" for my MCP server.
Next, I found some errors the extension was throwing in the Output window with "Claude VSCode" selected, and had it fix my mcp-bridge. I guess this extension is pickier than the Claude CLI or GH Copilot.
Having to completely restart VS Code (and then warm everything back up) just to see if the extension was working was a chore. There should be a way to have it reload its settings, including the MCP file.
My take
I opened the issue #30183, but I'll close it in favor of this one.
Here's my take on what is happening. Actually, it's a problem of login context. Login in Terminal doesn't share context with login in VSCode extension. I understand this as a feature request, not a bug, because Anthropic doesn't necessarily wants login context to be shared between Terminal and VS Code Extension. Here are the details of the case:
Problem Statement
When using Claude Code embedded in an IDE (tested with Windsurf), the extension silently holds a separate authentication context from the terminal — even on the same machine, with the same user account.
The result: claude.ai Connectors (MCP servers like Gmail, Todoist, Google Calendar) are not loaded in the IDE embedded mode, and
/mcpreturnsNo running MCP servers. There is no message explaining why, or what to do about it.The user is left thinking the Connectors are broken or unsupported in the IDE — when the real issue is just a silent, separate login state.
Proposed Solution
Two acceptable paths:
~/.claude.jsonused by the terminal, so that a singleclaude auth loginis sufficient across all surfaces.> "You're not logged in. Run
/switch-accountto connect your Claude.ai account and enable MCP Connectors."Alternative Solutions
Workaround (confirmed working): Run
/switch-accountinside the IDE embedded chat and log in via OAuth again. After that, all claude.ai Connectors appear asconnected.This confirms the feature works — it just requires an undiscoverable extra step.
Priority
Medium - Would be very helpful
Feature Category
MCP server integration
Use Case Example
claude auth loginin the terminal →claude auth statusconfirms login with Claude.ai Pro subscription/mcp→ seesNo running MCP servers/switch-account) User logs in again inside the IDE → Connectors load correctlyAdditional Context
claude auth statusinside Windsurf's terminal returns the correct account — confirming the terminal context is authenticated. Only the embedded chat context is not.for some reason, I did the
/switch-accountinside the IDE, then MCP servers settings were recognized.You probably were already logged in via OAuth in claude.ai. The
/switch-accountaction only recognized you were logged in. Then, the claude.ai MCP servers that were already connected through Anthropic servers appeared in the IDE asconnected.On window, creating a dedicated
.mcp.jsonin the workspace root did it for me. I'm using Claude Code VSCode extension on WindowI’m having the same issue. I've tried using
/switch-accountand creating a.mcp.jsonfile on the proejct, but neither worked.I tried @phuchuynhStrong's workaround on windows and it worked
<img width="838" height="259" alt="Image" src="https://github.com/user-attachments/assets/9a97fbf7-d23c-45e9-baf9-86f6956cbfae" />
<img width="466" height="207" alt="Image" src="https://github.com/user-attachments/assets/16add627-8728-42e1-935c-ffef495e5d86" />
Thanks
This solution worked for me as well, thanks! @phuchuynhStrong
I have a dedicated .mcp.json in the workspace root. The vscode extension show connection failed for some servers but not all (exa works maybe because it's http type, while others are stdio type?).
Look into the logs, claude complained about 'uvx' is not recognized as an internal or external command
The CLI always work.
Edit: the solution in my case is to use absolute path of uvx in MCP configuration on windows, even uvx is already in path. But it's very tedious if the MPC is defined in plugins.
Edit2: fixed in 2.1.81
claude code vscode extension v2.1.79
vscode v1.1095
the same issue "does not use mcp servers at all"
This solution worked for me also, thanks! @phuchuynhStrong
I had the same issue installing the MCP server at local scope. After switching to user scope, the MCP server loaded normally.
claude mcp add -s user ...Same here, Windows 11, Max, connectors work in CLI but not the VS Code panel.
This worked for me
When you add an MCP server using the CLI (claude mcp add), it gets written to ~/.claude/mcp.json. However, the Claude Code VS Code extension reads from a different file i.e. ~/.claude.json (in your user home directory). This means:
The CLI (claude mcp list) shows the server as connected ✅
The VS Code extension MCP panel shows "No running MCP servers" ❌
Root Cause
Two separate config files, two separate contexts:
| Context | Config file |
|---|---|
| Claude Code CLI (terminal) |
%USERPROFILE%\.claude\mcp.json|| Claude Code VS Code Extension |
%USERPROFILE%\.claude.json→mcpServers(root level) |Fix
%USERPROFILE%\.claude.jsonin a text editormcpServersobjecttype,command,args, andenvfields: