claude-code - 💡(How to fix) Fix v2.1.101 regression: MCP tools not exposed to model when server loaded via --dangerously-load-development-channels [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#46951Fetched 2026-04-12 13:28:51
View on GitHub
Comments
0
Participants
1
Timeline
5
Reactions
0
Author
Participants
Timeline (top)
labeled ×5

When an MCP server is loaded via --dangerously-load-development-channels server:<name>, the server's tools are no longer exposed to the model in v2.1.101. They were accessible in v2.1.100.

Root Cause

Binary string diffing between 2.1.100 and 2.1.101 shows:

  • New identifier regularMcpConfigs in 2.1.101 — MCP connection init was refactored from inline code to extracted helper functions (z6K/w6K). The configs are now split into regularMcpConfigs and claudeaiConfigs categories.
  • In 2.1.100, all MCP configs were passed to the same connection function. In 2.1.101, regularMcpConfigs appears to be a filtered subset that may exclude channel-loaded servers, so their tools never enter the model's tool index.
  • The channel gate function itself (qK_/z4_) is identical between versions — the regression is in the upstream config partitioning, not in the gate logic.
  • New exports: createMCPServer, applyMcpUpdate, McpConfigs, McpUpdate
  • New telemetry: tengu_mcp_directory_bff, tengu_mcp_directory_visibility, tengu_mcp_registry_fetch

Fix Action

Workaround

Pin the launcher to the 2.1.100 binary:

exec /path/to/versions/2.1.100 --dangerously-load-development-channels server:<name> -- "$PROMPT"

Code Example

exec /path/to/versions/2.1.100 --dangerously-load-development-channels server:<name> -- "$PROMPT"
RAW_BUFFERClick to expand / collapse

Description

When an MCP server is loaded via --dangerously-load-development-channels server:<name>, the server's tools are no longer exposed to the model in v2.1.101. They were accessible in v2.1.100.

Reproduction

  1. Register an MCP server in .mcp.json that declares both tools: {} and experimental: { "claude/channel": {} } capabilities
  2. Launch Claude Code with --dangerously-load-development-channels server:<name> -- "<prompt asking to call a tool>"
  3. /mcp shows the server as ✔ connected with all tools listed
  4. The model reports it has no access to any tools from that MCP server — tools do not appear in the deferred tool index or in the direct tool list

Expected behavior

The MCP server's tools should be callable by the model (as they were in v2.1.100), while also receiving inbound channel notifications.

Actual behavior

  • /mcp → server connected, tools listed ✓
  • Model → "I don't have access to [server] MCP tools" ✗
  • ToolSearch with select:mcp__<name>__<tool> → no results ✗

Analysis

Binary string diffing between 2.1.100 and 2.1.101 shows:

  • New identifier regularMcpConfigs in 2.1.101 — MCP connection init was refactored from inline code to extracted helper functions (z6K/w6K). The configs are now split into regularMcpConfigs and claudeaiConfigs categories.
  • In 2.1.100, all MCP configs were passed to the same connection function. In 2.1.101, regularMcpConfigs appears to be a filtered subset that may exclude channel-loaded servers, so their tools never enter the model's tool index.
  • The channel gate function itself (qK_/z4_) is identical between versions — the regression is in the upstream config partitioning, not in the gate logic.
  • New exports: createMCPServer, applyMcpUpdate, McpConfigs, McpUpdate
  • New telemetry: tengu_mcp_directory_bff, tengu_mcp_directory_visibility, tengu_mcp_registry_fetch

Workaround

Pin the launcher to the 2.1.100 binary:

exec /path/to/versions/2.1.100 --dangerously-load-development-channels server:<name> -- "$PROMPT"

Environment

  • macOS (arm64)
  • Claude Code v2.1.101 (regression), v2.1.100 (working)
  • MCP SDK @modelcontextprotocol/sdk v1.28.0
  • Node.js v25.9.0

extent analysis

TL;DR

The most likely fix is to update the MCP connection initialization to properly handle the new regularMcpConfigs category in version 2.1.101.

Guidance

  • Investigate the regularMcpConfigs category and how it filters MCP configs, to understand why channel-loaded servers are excluded.
  • Verify that the createMCPServer and applyMcpUpdate exports are correctly handling the new config partitioning.
  • Check the telemetry data (tengu_mcp_directory_bff, tengu_mcp_directory_visibility, tengu_mcp_registry_fetch) to see if it provides any insights into the issue.
  • Consider updating the launcher to use the new McpConfigs and McpUpdate exports to properly initialize the MCP connection.

Example

No code snippet is provided as the issue does not contain enough information to create a specific example.

Notes

The issue seems to be related to the refactoring of the MCP connection initialization in version 2.1.101. The new regularMcpConfigs category may be causing the exclusion of channel-loaded servers, leading to the tools not being accessible to the model.

Recommendation

Apply the workaround by pinning the launcher to the 2.1.100 binary, as the issue is likely related to the changes in the MCP connection initialization in version 2.1.101. This will allow the tools to be accessible to the model until a proper fix is implemented.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The MCP server's tools should be callable by the model (as they were in v2.1.100), while also receiving inbound channel notifications.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING