[BUG] Managed plugin MCP server dependencies are not installed

Resolved 💬 6 comments Opened May 18, 2026 by edgaraskazlauskas Closed Jun 20, 2026

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

  1. Define an enterprise policy (server managed settings) that specifies enabledPlugins with .mcp.json.
  2. Remove ~/.claude directory
  3. Run claude, accept remote settings
  4. Close claude
  5. Run claude
  6. Type /mcp, observe No MCP servers configured message.

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"
    }
  ]
}

View original on GitHub ↗

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