Feature Request: Support MCP server enablement in .claude/settings.local.json
Summary
MCP server enablement settings (enabledMcpjsonServers, disabledMcpjsonServers) in .claude/settings.local.json are not being respected. Claude Code only reads these settings from ~/.claude.json project entries, which causes issues for teams using git worktrees or workspace management tools.
Current Behavior
- Project defines MCP servers in
.mcp.json - Project sets
disabledMcpjsonServersin.claude/settings.json(shared, checked into git) to disable servers by default - Developer sets
enabledMcpjsonServersin.claude/settings.local.json(gitignored) to enable servers locally - Result: The local settings are ignored. MCP enablement is only read from
~/.claude.json
When running /mcp, the "Local config" location shown is:
Local config (private to you in this project):
• /Users/user/.claude.json [project: /path/to/project]
This confirms Claude Code reads local MCP settings from ~/.claude.json, not .claude/settings.local.json.
Problems This Causes
- Workspace management tools: Tools like Conductor create many project worktrees. Each worktree auto-creates an entry in
~/.claude.jsonwith emptyenabledMcpjsonServers: [], which prevents local project config from working.
- Team configuration: Teams want to define default MCP behavior in
.claude/settings.json(shared) while allowing developers to override locally via.claude/settings.local.json(gitignored). This pattern works for permissions but not for MCP enablement.
- Bloated ~/.claude.json: Projects auto-create entries in
~/.claude.json, accumulating hundreds of project entries over time.
Expected Behavior
.claude/settings.local.json should be authoritative for MCP server enablement, following the documented precedence:
Local > Project > User
Settings in .claude/settings.local.json should override both .claude/settings.json and ~/.claude.json project entries.
Proposed Solution
- Read
enabledMcpjsonServersanddisabledMcpjsonServersfrom.claude/settings.local.json - Apply standard precedence: Local > Project > User
- Optionally: Don't auto-create project entries in
~/.claude.jsonif local config exists
Example Configuration
.mcp.json (shared):
{
"mcpServers": {
"mixpanel": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.mixpanel.com/mcp", "--allow-http"] },
"sentry": { "type": "http", "url": "https://mcp.sentry.dev/mcp" }
}
}
.claude/settings.json (shared):
{
"disabledMcpjsonServers": ["mixpanel", "sentry"]
}
.claude/settings.local.json (gitignored):
{
"enabledMcpjsonServers": ["mixpanel"]
}
Expected result: Mixpanel enabled, Sentry disabled for this developer.
Environment
- Claude Code CLI
- macOS
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗