[BUG] External plugins registered twice — duplicate MCP tool namespaces (mcp__github__* and mcp__plugin_github_github__*)

Resolved 💬 3 comments Opened Mar 12, 2026 by bcmcpher Closed Mar 13, 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?

When the github plugin from claude-plugins-official is enabled (an external_plugin type),
its MCP server is registered under two separate namespaces, producing duplicate tool sets in
every session:

  • mcp__github__* — 25 tools (standard GitHub REST tools)
  • mcp__plugin_github_github__* — 43 tools (includes Copilot-specific tools like

assign_copilot_to_issue, create_pull_request_with_copilot, request_copilot_review)

Both connect to the same endpoint (https://api.githubcopilot.com/mcp/) with the same auth
token. The tool sets differ, suggesting the server is being connected twice.

The github plugin is classified as an external_plugin in the marketplace
(source: ./external_plugins/github). Claude Code appears to load external_plugin MCP
configs at two levels:

  1. Plugin-scoped → mcp__plugin_github_github__*
  2. Direct/top-level → mcp__github__*

Confirmed by inspecting: installed_plugins.json (single entry), settings.json
(mcpServers empty), no ~/.claude/.mcp.json, no project-level .mcp.json.
Only one install exists in cache, yet two connections are established.

### Impact

  • Wastes context tokens — ~68 duplicate tools loaded every session
  • Ambiguous which namespace to use for the overlapping tool subset
  • Could cause tools: Tool names must be unique API errors during /compact (related to #14127)

### Environment

  • Platform: Linux (Ubuntu 24.04, kernel 6.8.0)
  • Plugin: github@claude-plugins-official

What Should Happen?

An enabled plugin's MCP server should appear exactly once, under a single namespace.

Error Messages/Logs

Steps to Reproduce

  1. claude plugin install github@claude-plugins-official
  2. Start any Claude Code session
  3. Run /context and observe the MCP tools section — both namespaces are present

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.74

Platform

Other

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

This report was generated by Claude Code and audited by bcmcpher.

View original on GitHub ↗

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