User-scope MCP servers not loaded in v2.1.77

Resolved 💬 3 comments Opened Mar 17, 2026 by falazem Closed Mar 20, 2026

Bug Description

User-scope MCP servers configured via claude mcp add --scope user are written to the top-level mcpServers key in ~/.claude.json but are not loaded by the runtime. Both claude mcp list (external CLI) and /mcp list (in-session) report "No MCP servers configured."

Only local-scope (project-level) servers work — i.e., servers stored inside projects.<path>.mcpServers in ~/.claude.json.

Steps to Reproduce

  1. Add an MCP server at user scope:

``bash
claude mcp add --scope user my-server -- npx -y @some/mcp-server
``

  1. Confirm it was written to ~/.claude.json under the top-level mcpServers key (it is)
  2. Run claude mcp list — reports no servers configured
  3. Start a new Claude Code session, run /mcp list — same result

Expected Behavior

User-scope MCP servers should be loaded globally across all projects, as documented.

Actual Behavior

  • claude mcp add --scope user writes correctly to ~/.claude.json top-level mcpServers
  • claude mcp remove --scope user reads and removes from the same location
  • claude mcp add --scope user detects duplicates ("already exists in user config")
  • But claude mcp list and the runtime never load user-scope servers
  • Only --scope local (project-level) servers are loaded

Additional Observations

  • Adding a server without --scope (defaults to local) writes to projects.<cwd>.mcpServers — these DO load
  • The add and remove subcommands correctly read/write user-scope, but list and get do not
  • Deleting the project-level mcpServers key or setting it to {} does not cause user-scope servers to fall through
  • Format of the server JSON is identical between user-scope and local-scope (verified programmatically)

Environment

  • Claude Code version: 2.1.77
  • OS: macOS (Darwin 25.1.0)
  • Shell: zsh

Workaround

Add MCP servers at local scope per-project, or use a script to copy project-level mcpServers across all project entries in ~/.claude.json.

🤖 Generated with Claude Code

View original on GitHub ↗

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