[BUG] Plugin MCP tools not injected despite server showing "Connected"

Resolved 💬 5 comments Opened Apr 16, 2026 by nomadnur Closed Jun 19, 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?

Plugin-registered MCP servers connect successfully but their tools never appear in sessions (not in deferred tools list, not callable). This affects all plugin MCPs — not just one specific plugin. Non-plugin MCPs (registered
via project .mcp.json) work perfectly.

Diagnosis

The plugin framework correctly handles hooks, skills, and statusline — only the MCP tool injection pathway is broken. Since this affects multiple unrelated plugins while all non-plugin MCPs work fine, this appears to be a
regression in the plugin → MCP tool injection mechanism.

Timeline

  • Worked correctly before ~April 14, 2026 (Claude Code ~2.1.109)
  • Broke during a session and has not recovered since
  • Persists across reinstalls, restarts, and config changes

What Should Happen?

Plugin MCP servers that show "✓ Connected" in claude mcp list should have their tools injected into the session's deferred tools list (e.g. mcp__plugin_cortex_cortex__cortex_recall), just like project .mcp.json servers do. Plugin hooks and skills already inject correctly — only MCP tool injection is broken.

Error Messages/Logs

Error Messages/Logs:                                                          
                                                                                
  $ claude mcp list                                                             
                                                                                
  plugin:cortex:cortex: node                                                    
  ~/.claude/plugins/cache/cortex/cortex/2.1.2/dist/mcp-server.js - ✓ Connected
  codex-plugin-cc: npx @openai/codex-plugin-cc - ✗ Failed to connect
                                                                                
  Plugin MCP shows "Connected" but zero tools from it appear in the session's
  deferred tools list. No mcp__plugin_cortex_cortex__* or similar tool names are
   available. No error is surfaced — tools are silently missing.
                                                                                
  All non-plugin MCPs (9 servers via project .mcp.json) inject tools normally in
   the same session.                                                            

  Direct MCP handshake confirms server works:                                   
  $ echo '{"jsonrpc":"2.0","id":1,"method":"initialize",...}' | node
  dist/mcp-server.js                                                            
  {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities
  ":{"tools":{}},"serverInfo":{"name":"cortex-memory","version":"2.0.3"}}}      
                                                                                
  No Claude Code debug logs found at ~/.claude/logs/ or ~/Library/Logs/.

Steps to Reproduce

  1. Install any plugin that provides an MCP server (e.g. claude plugin install cortex)
  2. Verify plugin is enabled in ~/.claude/settings.json → enabledPlugins
  3. Restart Claude Code
  4. Run claude mcp list — plugin MCP shows "✓ Connected"
  5. In session, check deferred tools — zero tools from plugin MCP appear

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

~2.1.109 ~April 14, 2026

Claude Code Version

2.1.110

Platform

Other

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

What works

  • Plugin hooks fire correctly (SessionStart, PostToolUse, PreCompact)
  • Plugin skills appear and are invocable (/cortex-setup, /cortex-manage, etc.)
  • Plugin statusline works (configured via settings.json)
  • Plugin MCP server responds correctly to direct handshake:

echo '{"jsonrpc":"2.0","id":1,"method":"initialize",...}' | node
dist/mcp-server.js
# Returns: protocolVersion, capabilities: {tools: {}}, serverInfo

  • tools/list returns all 11 tools correctly when called directly
  • All project .mcp.json MCPs (Python-based, 9 servers) inject tools normally

What doesn't work

  • Plugin MCP tools never appear in the deferred tools list
  • No mcp__plugin_cortex_cortex__ or mcp__cortex__ tools available
  • Same failure for codex-plugin-cc — shows "✗ Failed to connect"
  • Restarting Claude Code, terminal, full machine reboot — no change
  • Uninstalling and reinstalling the plugin — no change

Configuration verified

// ~/.claude/settings.json
{
"enabledPlugins": {
"cortex@cortex": true,
"codex@openai-codex": true
}
}

// settings.local.json
{
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": ["plugin_cortex_cortex", "cortex", ...]

View original on GitHub ↗

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