Keys only a managed source can set
Claude Code reads the following keys only from a managed source; placing them in user or project settings files has no effect.
Most of them are locks: the value a lock governs, such as permission rules or sandbox.network.allowedDomains, is an ordinary key that any level can set, and the lock tells Claude Code to honor only the managed value.
The table covers the permission, plugin, and delivery controls. For any key not listed here, the Scope column of the settings reference index says whether it's managed-only; the remaining managed-only keys there include the gateway login URL, version, browser, mobile-simulator, SSH host, Desktop local-session, sandbox binary path, model pricing, and CLAUDE.md controls.
| Setting | Description |
|---|---|
allowAllClaudeAiMcps | Load the claude.ai connectors Claude Code fetches itself alongside a deployed managed-mcp.json instead of suppressing them |
allowedChannelPlugins | Allowlist of channel plugins that may push messages. Replaces the default Anthropic allowlist when set. Requires channelsEnabled: true. See Restrict which channel plugins can run |
allowManagedHooksOnly | When true, restricts which hooks run; see what runs under allowManagedHooksOnly for the full effect list |
allowManagedMcpServersOnly | When true, only allowedMcpServers from managed settings are respected. deniedMcpServers still merges from all sources. See Managed MCP configuration |
allowManagedPermissionRulesOnly | Makes managed settings the only settings source of permission rules. The entry lists every source it ignores |
blockedMarketplaces | Blocklist of marketplace sources. Blocked sources are checked before downloading, so they never touch the filesystem. See managed marketplace restrictions |
channelsEnabled | Allow channels for the organization. See enterprise controls for the default on each plan |
disableCommandPluginSources | When true, blocks command plugin sources entirely, so the marketplace-declared command never runs. Also blocks marketplace headersHelper commands, except for a marketplace that managed settings themselves declare. When unset, follows allowManagedHooksOnly. Requires Claude Code v2.1.229 or later, and the headersHelper block requires v2.1.238 or later |
disableSideloadFlags | Reject the --plugin-dir, --plugin-url, --agents, and --mcp-config flags at startup. In cloud sessions, Claude Code drops the MCP servers the server delivered through --mcp-config, other than in-process type: "sdk" entries, and starts the session. Requires Claude Code v2.1.193 or later |
forceRemoteSettingsRefresh | When true, blocks CLI startup until remote managed settings are freshly fetched and exits if the fetch fails. See fail-closed enforcement |
managedMcpServers | Remote MCP servers provided to every user alongside their own. It provides servers rather than locking anything down. See Provide servers through managed settings. Requires Claude Code v2.1.259 or later |
managedSourcesBehavior | Whether Claude Code applies only the highest-priority managed source or composes every one of them |
parentSettingsBehavior | Whether host-supplied parent settings merge under the managed policy |
pluginSuggestionMarketplaces | Marketplaces whose plugins Claude Code may suggest to users |
pluginTrustMessage | Custom message appended to the plugin trust warning shown before installation |
policyHelper | Executable that computes managed settings at startup; see Compute managed settings with a policy helper |
sandbox.filesystem.allowManagedReadPathsOnly | When true, only filesystem.allowRead paths from managed settings are respected. denyRead still merges from all sources |
sandbox.network.allowManagedDomainsOnly | Honor only managed allowedDomains and WebFetch(domain:...) allow rules; block other domains without prompting |
strictKnownMarketplaces | Controls which plugin marketplace sources users can add and install plugins from. See managed marketplace restrictions |
strictPluginOnlyCustomization | Block skills, agents, hooks, and MCP servers from user and project sources; true locks all four, an array names which |
wslInheritsWindowsSettings | When set in the HKLM registry or a file under C:\Program Files\ClaudeCode, have WSL read the Windows policy chain, and read /etc/claude-code only when no managed settings file or drop-in under that directory delivers a policy key; the entry gives the order |
On Team and Enterprise plans, an Owner enables or disables Remote Control and web sessions organization-wide in Claude Code admin settings. Remote Control can additionally be disabled per device with the disableRemoteControl setting. Web sessions have no per-device managed settings key.
To check whether these organization settings reached a given machine, run claude doctor there and read the Organization policy line, which says where Claude Code loaded the policy from or why it didn't load. Requires Claude Code v2.1.261 or later. In a running session, /status shows the same line when the policy didn't load.