[BUG] Managed plugin MCP server dependencies are not installed
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?
Description: When a managed plugin declares MCP server dependencies, those dependencies are not installed automatically. Users must manually install the MCP servers, which defeats the purpose of centralized plugin management.
What Should Happen?
Managed plugins install their declared MCP dependencies automatically
Error Messages/Logs
None
Steps to Reproduce
- Define an enterprise policy (server managed settings) that specifies
enabledPluginswith.mcp.json. - Remove
~/.claudedirectory - Run claude, accept remote settings
- Close claude
- Run claude
- Type
/mcp, observeNo MCP servers configuredmessage.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.143
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
This can be worked around by manually adding the mcp servers.
Debug info:
claude mcp list -> No MCP servers configured. Use claude mcp add to add a server.claude /mcp -> No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run claude mcp --help or visit https://code.claude.com/docs/en/mcp to learn more.claude doctor ->
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Diagnostics
├ Currently running: native (2.1.143)
├ Commit: cfb8132e4c35
├ Platform: darwin-arm64
├ Path: ~/.local/share/claude/versions/2.1.143
├ Config install method: native
└ Search: OK (bundled)
Updates
├ Auto-updates: enabled
├ Auto-update channel: latest
├ Stable version: 2.1.133
└ Latest version: 2.1.143
Background server
└ Status: not running
└ Mode: ephemeral
└ See claude daemon status for details
remote-settings.json file:
{
"allowManagedHooksOnly": true,
"allowManagedMcpServersOnly": false,
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverName": "OUR_PLUGIN_OUR_MCP_NAME"
},
],
"enabledPlugins": {
"<OUR_PLUGIN@OUR_MARKETPLACE": true,
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA": "1",
"OTEL_EXPORTER_OTLP_ENDPOINT": <OUR_ENDPOINT>,
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_LOG_TOOL_DETAILS": "1",
"OTEL_LOG_USER_PROMPTS": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_METRICS_INCLUDE_VERSION": "true",
"OTEL_TRACES_EXPORTER": "otlp"
},
"permissions": {
"ask": [<OUR_LIST>],
"deny": [<OUR_LIST>],
"disableAutoMode": "disable",
"disableBypassPermissionsMode": "disable"
},
"sandbox": {
"allowUnsandboxedCommands": false,
"autoAllowBashIfSandboxed": true,
"enableWeakerNetworkIsolation": true,
"enabled": true,
"filesystem": {
"allowRead": [<OUR_LIST>],
"allowWrite": [<OUR_LIST>],
"denyRead": [<OUR_LIST>]
},
"network": {
"allowAllUnixSockets": true,
"allowLocalBinding": true,
"allowedDomains": [<OUR_LIST>],
"deniedDomains": [<OUR_LIST>]
}
},
"strictKnownMarketplaces": [
{
"repo": "anthropics/claude-plugins-official",
"source": "github"
},
{
"repo": "our-org/our-plugins",
"source": "github"
}
]
}This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗