{"version":"2.1.236","anchor":"mcp-code-is-loaded-on-demand-and-connections-live-in-one-reg","canonical_anchor":"mcp-code-is-loaded-on-demand-and-connections-live-in-one-reg","heading":"MCP code is loaded on demand and connections live in one registry","tier":"notice","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236\/e\/mcp-code-is-loaded-on-demand-and-connections-live-in-one-reg","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236","markdown":"### MCP code is loaded on demand and connections live in one registry\n\nMCP code loads only when first needed, so startup is cheaper.\n\n**What**\n\nThe MCP client, authentication, prompt-handling, task-watching, directory and error-classification code is no longer loaded when Claude Code starts. It is fetched through small accessors the first time an MCP path is used, which cuts startup cost. Behaviour is unchanged.\n\n**Details**\n\n- The cache of per-server connections moved from a memoised function's own cache onto a single shared registry used by both MCP implementations, so connection state now has one home.\n- Tool and resource discovery calls take the storage handle as an explicit argument instead of reaching for it.\n\n**Evidence**\n\n`mcpIsListAuthErrorModule`, `mcpSdkErrorClassificationModule`\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}