{"version":"2.1.259","anchor":"declared-tools-filtering-for-always-loaded-claudeai-mcp-too","canonical_anchor":"declared-tools-filtering-for-always-loaded-claudeai-mcp-too","heading":"Declared-tools filtering for always-loaded claude.ai MCP tools","tier":"internal","area":"Tool Loading","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.259\/e\/declared-tools-filtering-for-always-loaded-claudeai-mcp-too","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.259","markdown":"### Declared-tools filtering for always-loaded claude.ai MCP tools\n\nAlways-loaded claude.ai MCP tools are held out of the declared tool set and loaded lazily until the tool-use decision settles.\n\nA new code path filters out MCP tools flagged `isMcp === true`, `alwaysLoad === true`, and `mcpInfo.scope === 'claudeai'` from the initially declared tool set until the model's tool-use decision settles, wrapping the remainder in a lazy collection. This only fires when the caller hasn't already decided declared tools and at least one matching tool is present.\n\n- Area: Tool Loading\n- Tier: Under the hood\n- Useful: 3\/5\n- Signal: 4\/5"}