[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" />

View original on GitHub ↗

22 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/12314
  2. https://github.com/anthropics/claude-code/issues/12086
  3. https://github.com/anthropics/claude-code/issues/3321

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

Flamage82 · 5 months ago

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].mcpServers json path into the root mcpServers json path which was empty

shawnclybor · 5 months ago

Confirming this issue on v2.1.31 (macOS)

I'm experiencing the same behavior on the VSCode extension version 2.1.31.

Environment

  • Claude Code CLI: 2.1.29
  • VSCode Extension: 2.1.31
  • OS: macOS Darwin 25.2.0
  • MCP Servers: archon (HTTP), serena (stdio), playwright (stdio), sequential-thinking (stdio), figma (HTTP)

Symptoms

  • VSCode "Manage MCP Servers" panel shows "No running MCP servers"
  • CLI claude mcp list shows all 5 servers connected
  • MCP tools actually work in conversation (verified via direct tool calls)

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:

  1. The actual MCP server connections (working)
  2. The VSCode extension's UI representation (not updating)

Configuration

Servers configured in both:

  • Project .mcp.json file
  • Project-level mcpServers in ~/.claude.json

With enableAllProjectMcpServers: true and servers listed in enabledMcpjsonServers in .claude/settings.local.json.

Workaround Tested

The suggestion to move servers to root mcpServers in ~/.claude.json was 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.

PartisanTactical · 5 months ago

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.

NSExceptional · 5 months ago

@PartisanTactical your suggestion does not work for me, this needs a serious fix

devi-prsd · 5 months ago

Can reproduce on VSCode 1.109.2 (MacOS 26.2)

xuanswe · 4 months ago

Same here.

Claude Code v2.1.44

VS Code
Version: 1.109.4
Commit: c3a26841a84f20dfe0850d0a5a9bd01da4f003ea
Date: 2026-02-16T15:35:57.932Z
Electron: 39.3.0
ElectronBuildId: 13313481
Chromium: 142.0.7444.265
Node.js: 22.21.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

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.

xuanswe · 4 months ago
"What MCP servers are available?"

@PartisanTactical it activates mcp servers with 2 issues

  • still not activate the claude-in-chrome mcp server
  • only available in current conversation. New conversations still don't see any mcp servers.

This bug is serious in my opinion. Without mcp, the claude code extension is 90% useless.

LIS-Benjamin · 4 months ago

Same issue here

richardtallent-erm · 4 months ago

Can confirm here as well.

  • MCP server itself is part of my .NET app, running in Debug mode under VSC.
  • mcp-bridge uses stdio mechanism to connect to it.
  • GitHub Copilot sees my MCP server and tools
  • Claude Code CLI (running under WSL) sees my MCP server and tools
  • Claude Code Extension was reporting no MCP servers, or once it did report them, showed "failed".

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.json for GitHub Copilot
  • .claude/.mcp.json for Claude VSCode (I added a "cwd" setting with an absolute path, which may have helped it work)
  • .mcp.json for 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.

phdro88 · 4 months ago

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 /mcp returns No 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:

  1. Share the auth context — the IDE embedded mode should read from the same ~/.claude.json used by the terminal, so that a single claude auth login is sufficient across all surfaces.
  1. Surface the problem clearly — if keeping separate contexts is intentional, the IDE should detect the missing auth and display a clear prompt, e.g.:

> "You're not logged in. Run /switch-account to connect your Claude.ai account and enable MCP Connectors."

Alternative Solutions

Workaround (confirmed working): Run /switch-account inside the IDE embedded chat and log in via OAuth again. After that, all claude.ai Connectors appear as connected.

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

  1. User authenticates via claude auth login in the terminal → claude auth status confirms login with Claude.ai Pro subscription
  2. User opens Claude Code embedded in Windsurf
  3. User runs /mcp → sees No running MCP servers
  4. User assumes Connectors are unsupported in IDE mode and gives up
  5. (After discovering /switch-account) User logs in again inside the IDE → Connectors load correctly

Additional Context

  • IDE: Windsurf
  • OS: macOS 15 (Darwin 25.2.0)
  • Auth method: Claude.ai OAuth (Pro/Max subscription)
  • Claude Code version: 2.1.63
  • Running claude auth status inside Windsurf's terminal returns the correct account — confirming the terminal context is authenticated. Only the embedded chat context is not.
lucasvscn · 4 months ago
### Alternative Solutions Workaround (confirmed working): Run /switch-account inside the IDE embedded chat and log in via OAuth again. After that, all claude.ai Connectors appear as connected.

for some reason, I did the /switch-account inside the IDE, then MCP servers settings were recognized.

phdro88 · 4 months ago
> ### Alternative Solutions > Workaround (confirmed working): Run /switch-account inside the IDE embedded chat and log in via OAuth again. After that, all claude.ai Connectors appear as connected. > for some reason, I did the /switch-account inside the IDE, then MCP servers settings were recognized.

You probably were already logged in via OAuth in claude.ai. The /switch-account action only recognized you were logged in. Then, the claude.ai MCP servers that were already connected through Anthropic servers appeared in the IDE as connected.

phuchuynhStrong · 4 months ago

On window, creating a dedicated .mcp.json in the workspace root did it for me. I'm using Claude Code VSCode extension on Window

probaku1234 · 4 months ago

I’m having the same issue. I've tried using /switch-account and creating a .mcp.json file on the proejct, but neither worked.

miriyald · 4 months ago

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

nbaggett · 3 months ago
I tried @phuchuynhStrong's workaround on windows and it worked <img alt="Image" width="838" height="259" src="https://private-user-images.githubusercontent.com/89222052/564514045-9a97fbf7-d23c-45e9-baf9-86f6956cbfae.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM4Nzk4NjMsIm5iZiI6MTc3Mzg3OTU2MywicGF0aCI6Ii84OTIyMjA1Mi81NjQ1MTQwNDUtOWE5N2ZiZjctZDIzYy00NWU5LWJhZjktODZmNjk1NmNiZmFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzE5VDAwMTkyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1OWJjOGVjNTkzMzliMmY3OWZkOTRlNjFhY2ZlNWIwYjRmYTA1ZDY4N2MxZTJkMjBjODg3ZTNmYTFhNWI3MzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0aYO8F6NEA6ZgPmOSr0m9b6nCDkO893E771QcnRTQ_A"> <img alt="Image" width="466" height="207" src="https://private-user-images.githubusercontent.com/89222052/564514216-16add627-8728-42e1-935c-ffef495e5d86.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM4Nzk4NjMsIm5iZiI6MTc3Mzg3OTU2MywicGF0aCI6Ii84OTIyMjA1Mi81NjQ1MTQyMTYtMTZhZGQ2MjctODcyOC00MmUxLTkzNWMtZmZlZjQ5NWU1ZDg2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzE5VDAwMTkyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM2NTQxZWQxNTljMDIyMzNjMWQzNjc4ZGQ5OWI2ZTYzODE2NjhkYTFiODVmNDdmNWVlNzkzMTU3YjU1NGExMjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.a8t8_JP4Ksg8-1YtdAUf00f94dF8gQiGcjT7e6jNYlM"> Thanks

This solution worked for me as well, thanks! @phuchuynhStrong

naivej · 3 months ago

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

krrz1 · 3 months ago

claude code vscode extension v2.1.79
vscode v1.1095
the same issue "does not use mcp servers at all"

On window, creating a dedicated .mcp.json in the workspace root did it for me. I'm using Claude Code VSCode extension on Window

This solution worked for me also, thanks! @phuchuynhStrong

abdelrahman-mohammad · 2 months ago

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 ...

jennie-a11y · 25 days ago

Same here, Windows 11, Max, connectors work in CLI but not the VS Code panel.

sgatade · 19 days ago

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.jsonmcpServers (root level) |

Fix
  1. Open %USERPROFILE%\.claude.json in a text editor
  2. Find (or create) the root-level mcpServers object
  3. Add your MCP server entry there — including the type, command, args, and env fields: