disabled: true in ~/.claude.json mcpServers is ignored on startup
Resolved 💬 5 comments Opened Mar 13, 2026 by blumaa Closed Apr 11, 2026
Description
MCP servers with "disabled": true in the top-level mcpServers config of ~/.claude.json still auto-connect on session startup. The disabled flag is completely ignored.
Version
Claude Code v2.1.74
Steps to Reproduce
- Add MCP servers to
~/.claude.jsonwith"disabled": true:
"mcpServers": {
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["chrome-devtools-mcp@latest"],
"disabled": true
},
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"],
"disabled": true
}
}
- Start a new Claude Code session
- Run
/mcp
Expected Behavior
Servers with "disabled": true should not connect on startup. They should appear as disabled in the /mcp dialog and only connect when manually enabled.
Actual Behavior
All servers connect automatically regardless of the disabled: true flag. Verified via:
/mcpdialog shows all servers as "connected"claude mcp listshows all servers as "✓ Connected"- Python JSON parsing confirms
disabled: trueis correctly set in the file with no duplicate keys or overrides
Additional Context
- No project-level
.mcp.jsonor project settings overriding the config ~/.claude/settings.jsonhas emptymcpServers: {}- The
disabledflag is the only documented way to keep servers configured but not auto-connecting - This forces users to either remove servers entirely or manually disable them via
/mcpevery session
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗