{"version":"2.1.323","anchor":"mcp-server-status-shows-held-by-x-and-not-loaded-states","canonical_anchor":"mcp-server-status-shows-held-by-x-and-not-loaded-states","heading":"MCP servers held by something else now say so in their status","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/mcp-server-status-shows-held-by-x-and-not-loaded-states","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### MCP servers held by something else now say so in their status\n\nA disabled MCP server with a holder now shows 'held by X' and reports switched_off, and entries off for this version show 'not loaded'\n\n**What**\n\nMCP servers are outside programs that give Claude Code extra tools. A server can be disabled, and some disabled servers now record what is holding them off in a `heldBy` value. Claude Code now shows and reports that holder:\n\n- The server's status reads `held by ${...}`, naming the holder, when a `heldBy` value is set, and still reads \"disabled\" otherwise.\n\n- The MCP server detail view shows a line reading `held by ${heldBy}` alongside the 'off' status. Before, it showed only 'off'.\n\n- A disabled server now reports the kind `switched_off` when it has a `heldBy` value. Before, only servers of type `sdk`, meaning ones supplied by a program built on the SDK, reported `switched_off`; all other disabled servers reported `disabled`.\n\n- A separate status row, for entries that are off for this Claude Code version, now shows a warning symbol with the label \"not loaded\".\n\n**Why**\n\nYou can see why an MCP server is inactive instead of only seeing that it is disabled. If you build on the SDK and check server status, held servers now come back as `switched_off`, so code that only looks for `disabled` will miss them.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}