Finding / claude-code

2026-09-21-claude-code-managed-mcp-and-policy-lists-go-fail-closed-allowedmcpservers-semantics-flip

2.1.259 (2026-09-02): an unparseable managed-settings file, drop-in, MDM plist or HKLM value was silently unenforced and now refuses to start; allowedMcpServers now governs only user-added servers, so a managed-mcp.json server the allowlist used to filter loads on upgrade; managedMcpServers ships HTTP and SSE servers to every user. 2.1.267: unreadable allowedHttpHookUrls, httpHookAllowedEnvVars and allowedChannelPlugins admit nothing rather than everything. 2.1.271: an unreadable managed-mcp.json keeps exclusive MCP control instead of being ignored; a cached org policy was reused after switching accounts. 2.1.273: allowManagedMcpServersOnly, deniedMcpServers and disableClaudeAiConnectors set via MDM or managed-settings.json were ignored when server-managed settings were also present.

Channel: tagged-release (2.1.259, 2.1.267 on stable; 2.1.271, 2.1.273 latest only). Half: both.

Operator consequence: If allowedMcpServers filtered managed-mcp.json, move exclusions to deniedMcpServers and check /mcp. Fleets layering MDM on server-managed settings had no working MCP deny list or connector kill switch before 2.1.273, and stable 2.1.267 still lacks that fix. A managed-settings file with a syntax error will now stop Claude Code from starting; fix it before rolling.

Receipt

Finding metadata

Run: 2026-09-21-weekly-digest-2026-08-20_2026-09-21-frontier-v0

Finding ID: 2026-09-21-claude-code-managed-mcp-and-policy-lists-go-fail-closed-allowedmcpservers-semantics-flip

Profile citations

Source links

Primary links, including exact changelog lines when available.