Follow Discord
Sweep 30 Oct 2026 · 01:02Z Build v2.1.314 532 read Stable v2.1.308 Latest v2.1.314 Next v2.1.314 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · claude-docs

One read of Claude Documentationclaude-docs-20261030T030705Z

6 pages moved out of 281 read.

Pages moved 6 significant first
Pages read 281 in this capture
Captured 03:07 UTC
Corpus hash 6c0278a2bb77 corpus-hash

What this read moved

1-6 of 6

third-party/claude-desktop/configuration Changed · +89 / -413 lines

### Self-hosted install line

The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.

from line 5
55| Key | Name in the app | Category | Works with (Unless a label in its entry says otherwise, a key can be set in an MDM profile or the local configuration file, or returned from a bootstrap server. A badge marks another kind of deployment that the key also works with.) |
66| - | - | - | - |
77| [`inferenceProvider`](#inferenceprovider) | Inference provider | Connection | Admin Console |
8| [`inferenceCredentialKind`](#inferencecredentialkind) | Credential kind | Connection | Self-hosted Admin Console |
8| [`inferenceCredentialKind`](#inferencecredentialkind) | Credential kind | Connection | Admin Console |
99| [`inferenceSessionLifetimeSec`](#inferencesessionlifetimesec) | Sign-in session lifetime | Connection | Admin Console |
1010| [`userContentRendererUrl`](#usercontentrendererurl) | Artifact preview iframe origin | Connection | Admin Console |
11| [`inferenceCustomHeaders`](#inferencecustomheaders) | Custom inference headers | Connection | Self-hosted Admin Console |
12| [`inferenceCredentialHelper`](#inferencecredentialhelper) | Helper script | Connection | Self-hosted Admin Console |
13| [`inferenceCredentialHelperWindows`](#inferencecredentialhelperwindows) | Helper script (Windows) | Connection | Self-hosted Admin Console |
14| [`inferenceCredentialHelperArgs`](#inferencecredentialhelperargs) | Helper script arguments | Connection | Self-hosted Admin Console |
15| [`inferenceCredentialHelperTtlSec`](#inferencecredentialhelperttlsec) | Helper script TTL | Connection | Self-hosted Admin Console |
16| [`inferenceCredentialHelperTimeoutSec`](#inferencecredentialhelpertimeoutsec) | Credential helper timeout | Connection | Self-hosted Admin Console |
17| [`inferenceCredentialHelperSilentRefreshEnabled`](#inferencecredentialhelpersilentrefreshenabled) | Re-run helper for silent refresh | Connection | Self-hosted Admin Console |
18| [`egressProxyUrl`](#egressproxyurl) | Proxy server URL | Connection | Self-hosted |
19| [`egressProxyPacUrl`](#egressproxypacurl) | Proxy auto-config (PAC) URL | Connection | Self-hosted |
11| [`inferenceCustomHeaders`](#inferencecustomheaders) | Custom inference headers | Connection | Admin Console |
12| [`inferenceCredentialHelper`](#inferencecredentialhelper) | Helper script | Connection | Admin Console |
13| [`inferenceCredentialHelperWindows`](#inferencecredentialhelperwindows) | Helper script (Windows) | Connection | Admin Console |
14| [`inferenceCredentialHelperArgs`](#inferencecredentialhelperargs) | Helper script arguments | Connection | Admin Console |
15| [`inferenceCredentialHelperTtlSec`](#inferencecredentialhelperttlsec) | Helper script TTL | Connection | Admin Console |
16| [`inferenceCredentialHelperTimeoutSec`](#inferencecredentialhelpertimeoutsec) | Credential helper timeout | Connection | Admin Console |
17| [`inferenceCredentialHelperSilentRefreshEnabled`](#inferencecredentialhelpersilentrefreshenabled) | Re-run helper for silent refresh | Connection | Admin Console |
18| [`egressProxyUrl`](#egressproxyurl) | Proxy server URL | Connection | |
19| [`egressProxyPacUrl`](#egressproxypacurl) | Proxy auto-config (PAC) URL | Connection | |
2020| [`coworkVmIpv6Enabled`](#coworkvmipv6enabled) | Enable IPv6 in the workspace VM | Connection | Admin Console |
2121| [`inferenceGatewayBaseUrl`](#inferencegatewaybaseurl) | Gateway base URL | Connection | Admin Console |
2222| [`inferenceGatewayApiKey`](#inferencegatewayapikey) | Gateway API key | Connection | |
2323| [`inferenceGatewayAuthScheme`](#inferencegatewayauthscheme) | Gateway auth scheme | Connection | Admin Console |
2424| [`inferenceGatewayOidcAuthFlow`](#inferencegatewayoidcauthflow) | Gateway sign-in flow | Connection | Admin Console |
2525| [`inferenceGatewayOidc`](#inferencegatewayoidc) | Gateway SSO IdP (OIDC) | Connection | Admin Console |
26| [`inferenceIdpAuthFlow`](#inferenceidpauthflow) | Identity provider sign-in flow | Connection | Self-hosted Admin Console |
27| [`inferenceIdpOidc`](#inferenceidpoidc) | Identity provider (OIDC) | Connection | Self-hosted Admin Console |
28| [`inferenceStreamIdleTimeoutSec`](#inferencestreamidletimeoutsec) | Stream idle timeout | Connection | Self-hosted Admin Console |
26| [`inferenceIdpAuthFlow`](#inferenceidpauthflow) | Identity provider sign-in flow | Connection | Admin Console |
27| [`inferenceIdpOidc`](#inferenceidpoidc) | Identity provider (OIDC) | Connection | Admin Console |
28| [`inferenceStreamIdleTimeoutSec`](#inferencestreamidletimeoutsec) | Stream idle timeout | Connection | Admin Console |
2929| [`inferenceAnthropicApiKey`](#inferenceanthropicapikey) | Claude API key | Connection | |
3030| [`inferenceBedrockRegion`](#inferencebedrockregion) | AWS region | Connection | Admin Console |
3131| [`inferenceBedrockBaseUrl`](#inferencebedrockbaseurl) | Bedrock base URL | Connection | Admin Console |
from line 57
5757| [`inferenceFoundryClientId`](#inferencefoundryclientid) | Entra ID client ID | Connection | Admin Console |
5858| [`inferenceFoundryAuthFlow`](#inferencefoundryauthflow) | Entra ID sign-in flow | Connection | Admin Console |
5959| [`modelDiscoveryEnabled`](#modeldiscoveryenabled) | Model discovery | Connection | Admin Console |
60| [`modelPrefer1mContext`](#modelprefer1mcontext) | Use 1M wherever it’s available | Connection | Self-hosted Admin Console |
61| [`inferenceModels`](#inferencemodels) | Model list | Connection | Self-hosted Admin Console |
62| [`defaultModelEffort`](#defaultmodeleffort) | Default model effort | Connection | Self-hosted Admin Console |
63| [`alwaysStartWithDefaultModel`](#alwaysstartwithdefaultmodel) | Always start with the default model | Connection | Self-hosted Admin Console |
64| [`inferenceModelPricingEnabled`](#inferencemodelpricingenabled) | Show estimated cost | Connection | Self-hosted Admin Console |
65| [`inferenceModelPricingMultiplier`](#inferencemodelpricingmultiplier) | Price multiplier | Connection | Self-hosted Admin Console |
66| [`inferenceModelPricing`](#inferencemodelpricing) | Model pricing | Connection | Self-hosted Admin Console |
67| [`modelCatalogEnabled`](#modelcatalogenabled) | Model catalog metadata | Connection | Self-hosted |
68| [`modelCatalogUrl`](#modelcatalogurl) | Model catalog URL | Connection | Self-hosted |
60| [`modelPrefer1mContext`](#modelprefer1mcontext) | Use 1M wherever it’s available | Connection | Admin Console |
61| [`inferenceModels`](#inferencemodels) | Model list | Connection | Admin Console |
62| [`defaultModelEffort`](#defaultmodeleffort) | Default model effort | Connection | Admin Console |
63| [`alwaysStartWithDefaultModel`](#alwaysstartwithdefaultmodel) | Always start with the default model | Connection | Admin Console |
64| [`inferenceModelPricingEnabled`](#inferencemodelpricingenabled) | Show estimated cost | Connection | Admin Console |
65| [`inferenceModelPricingMultiplier`](#inferencemodelpricingmultiplier) | Price multiplier | Connection | Admin Console |
66| [`inferenceModelPricing`](#inferencemodelpricing) | Model pricing | Connection | Admin Console |
67| [`modelCatalogEnabled`](#modelcatalogenabled) | Model catalog metadata | Connection | |
68| [`modelCatalogUrl`](#modelcatalogurl) | Model catalog URL | Connection | |
6969| [`coworkTabEnabled`](#coworktabenabled) | Allow Cowork | Capabilities | Admin Console |
70| [`isClaudeCodeForDesktopEnabled`](#isclaudecodefordesktopenabled) | Allow Code | Capabilities | Self-hosted Admin Console |
70| [`isClaudeCodeForDesktopEnabled`](#isclaudecodefordesktopenabled) | Allow Code | Capabilities | Admin Console |
7171| [`sshHostAllowlist`](#sshhostallowlist) | SSH host allowlist | Capabilities | Admin Console |
7272| [`sshClientPath`](#sshclientpath) | SSH client program | Capabilities | Admin Console |
7373| [`sshTransport`](#sshtransport) | SSH connection engine | Capabilities | Admin Console |
7474| [`chatTabEnabled`](#chattabenabled) | Allow Chat | Capabilities | Admin Console |
75| [`desktopHome`](#desktophome) | Desktop home | Capabilities | Self-hosted Admin Console |
75| [`desktopHome`](#desktophome) | Desktop home | Capabilities | Admin Console |
7676| [`chatAdvancedFileAnalysisEnabled`](#chatadvancedfileanalysisenabled) | Advanced file analysis | Capabilities | Admin Console |
77| [`coworkEgressAllowedHosts`](#coworkegressallowedhosts) | Allowed egress hosts | Capabilities | Self-hosted Admin Console |
78| [`allowedWorkspaceFolders`](#allowedworkspacefolders) | Allowed workspace folders | Capabilities | Self-hosted Admin Console |
79| [`blockReadsOutsideWorkingDirectories`](#blockreadsoutsideworkingdirectories) | Block reads outside working directories | Capabilities | Self-hosted Admin Console |
80| [`autoModeEnabled`](#automodeenabled) | Allow Auto mode | Capabilities | Self-hosted Admin Console |
77| [`coworkEgressAllowedHosts`](#coworkegressallowedhosts) | Allowed egress hosts | Capabilities | Admin Console |
78| [`allowedWorkspaceFolders`](#allowedworkspacefolders) | Allowed workspace folders | Capabilities | Admin Console |
79| [`blockReadsOutsideWorkingDirectories`](#blockreadsoutsideworkingdirectories) | Block reads outside working directories | Capabilities | Admin Console |
80| [`autoModeEnabled`](#automodeenabled) | Allow Auto mode | Capabilities | Admin Console |
8181| [`disableBypassPermissionsMode`](#disablebypasspermissionsmode) | Disable bypass permissions mode | Capabilities | Admin Console |
82| [`disableBundledSkills`](#disablebundledskills) | Disable bundled skills and workflows | Capabilities | Self-hosted Admin Console |
83| [`skillCreationEnabled`](#skillcreationenabled) | Allow user-created skills | Capabilities | Self-hosted Admin Console |
84| [`skillScanningEnabled`](#skillscanningenabled) | Scan user-created skills | Capabilities | Self-hosted Admin Console |
85| [`userPluginMarketplacesEnabled`](#userpluginmarketplacesenabled) | Allow user-added plugin marketplaces | Capabilities | Self-hosted Admin Console |
86| [`userPluginUploadsEnabled`](#userpluginuploadsenabled) | Allow user-added plugins | Capabilities | Self-hosted Admin Console |
87| [`scheduledTasksEnabled`](#scheduledtasksenabled) | Allow scheduled tasks | Capabilities | Self-hosted Admin Console |
88| [`projectsEnabled`](#projectsenabled) | Allow projects | Capabilities | Self-hosted Admin Console |
89| [`keepAwakeEnabled`](#keepawakeenabled) | Allow keep awake | Capabilities | Self-hosted Admin Console |
90| [`developerModeEnabled`](#developermodeenabled) | Allow Developer Mode | Capabilities | Self-hosted Admin Console |
91| [`quickEntryDefaultShortcut`](#quickentrydefaultshortcut) | Default Quick Entry shortcut | Capabilities | Self-hosted Admin Console |
92| [`quickEntryScreenshotsEnabled`](#quickentryscreenshotsenabled) | Allow screenshots of the screen and other apps | Capabilities | Self-hosted Admin Console |
93| [`quickEntryFileSharingEnabled`](#quickentryfilesharingenabled) | Allow sharing files open in other apps | Capabilities | Self-hosted Admin Console |
82| [`disableBundledSkills`](#disablebundledskills) | Disable bundled skills and workflows | Capabilities | Admin Console |
83| [`skillCreationEnabled`](#skillcreationenabled) | Allow user-created skills | Capabilities | Admin Console |
84| [`skillScanningEnabled`](#skillscanningenabled) | Scan user-created skills | Capabilities | Admin Console |
85| [`userPluginMarketplacesEnabled`](#userpluginmarketplacesenabled) | Allow user-added plugin marketplaces | Capabilities | Admin Console |
86| [`userPluginUploadsEnabled`](#userpluginuploadsenabled) | Allow user-added plugins | Capabilities | Admin Console |
87| [`scheduledTasksEnabled`](#scheduledtasksenabled) | Allow scheduled tasks | Capabilities | Admin Console |
88| [`projectsEnabled`](#projectsenabled) | Allow projects | Capabilities | Admin Console |
89| [`keepAwakeEnabled`](#keepawakeenabled) | Allow keep awake | Capabilities | Admin Console |
90| [`developerModeEnabled`](#developermodeenabled) | Allow Developer Mode | Capabilities | Admin Console |
91| [`quickEntryDefaultShortcut`](#quickentrydefaultshortcut) | Default Quick Entry shortcut | Capabilities | Admin Console |
92| [`quickEntryScreenshotsEnabled`](#quickentryscreenshotsenabled) | Allow screenshots of the screen and other apps | Capabilities | Admin Console |
93| [`quickEntryFileSharingEnabled`](#quickentryfilesharingenabled) | Allow sharing files open in other apps | Capabilities | Admin Console |
9494| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Skip WebFetch domain check | Capabilities | Admin Console |
95| [`builtinToolPolicy`](#builtintoolpolicy) | Built-in tool policy | Capabilities | Self-hosted Admin Console |
96| [`disabledBuiltinTools`](#disabledbuiltintools) | Disabled built-in tools | Capabilities | Self-hosted Admin Console |
97| [`toolSearchEnabled`](#toolsearchenabled) | Enable tool search | Capabilities | Self-hosted Admin Console |
98| [`organizationInstructions`](#organizationinstructions) | Organization instructions | Capabilities | Self-hosted Admin Console |
95| [`builtinToolPolicy`](#builtintoolpolicy) | Built-in tool policy | Capabilities | Admin Console |
96| [`disabledBuiltinTools`](#disabledbuiltintools) | Disabled built-in tools | Capabilities | Admin Console |
97| [`toolSearchEnabled`](#toolsearchenabled) | Enable tool search | Capabilities | Admin Console |
98| [`organizationInstructions`](#organizationinstructions) | Organization instructions | Capabilities | Admin Console |
9999| [`requireCoworkFullVmSandbox`](#requirecoworkfullvmsandbox) | Require full VM sandbox | Capabilities | |
100| [`disableDeploymentModeChooser`](#disabledeploymentmodechooser) | Disable Claude.ai sign-in | Capabilities | Self-hosted |
101| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Disable claude:// deep-link handling | Capabilities | Self-hosted Admin Console |
100| [`disableDeploymentModeChooser`](#disabledeploymentmodechooser) | Disable Claude.ai sign-in | Capabilities | |
101| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Disable claude:// deep-link handling | Capabilities | Admin Console |
102102| [`builtinBrowserEnabled`](#builtinbrowserenabled) | Allow the built-in browser | Capabilities | Admin Console |
103103| [`builtinBrowserDefaultDomainPolicy`](#builtinbrowserdefaultdomainpolicy) | Default site policy in the built-in browser | Capabilities | Admin Console |
104104| [`builtinBrowserAllowedDomains`](#builtinbrowseralloweddomains) | Allowed sites in the built-in browser | Capabilities | Admin Console |
105105| [`builtinBrowserBlockedDomains`](#builtinbrowserblockeddomains) | Blocked sites in the built-in browser | Capabilities | Admin Console |
106| [`claudeAiImport`](#claudeaiimport) | Claude.ai data import | Capabilities | Self-hosted Admin Console |
107| [`managedMcpServers`](#managedmcpservers) | Managed MCP servers | Connectors | Self-hosted Admin Console |
108| [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) | Allow persistent tool approvals | Connectors | Self-hosted Admin Console |
109| [`mcpScheduledTaskApprovalLifetimeDays`](#mcpscheduledtaskapprovallifetimedays) | Scheduled-task tool approval lifetime | Connectors | Self-hosted Admin Console |
110| [`isLocalDevMcpEnabled`](#islocaldevmcpenabled) | Allow local MCP servers | Connectors | Self-hosted Admin Console |
111| [`allowedPluginMcpServers`](#allowedpluginmcpservers) | Allowed plugin MCP servers | Connectors | Self-hosted Admin Console |
112| [`deniedPluginMcpServers`](#deniedpluginmcpservers) | Blocked plugin MCP servers | Connectors | Self-hosted Admin Console |
113| [`mcpToolTimeoutSec`](#mcptooltimeoutsec) | MCP tool call timeout | Connectors | Self-hosted Admin Console |
106| [`claudeAiImport`](#claudeaiimport) | Claude.ai data import | Capabilities | Admin Console |
107| [`managedMcpServers`](#managedmcpservers) | Managed MCP servers | Connectors | Admin Console |
108| [`mcpPersistentAlwaysAllowEnabled`](#mcppersistentalwaysallowenabled) | Allow persistent tool approvals | Connectors | Admin Console |
109| [`mcpScheduledTaskApprovalLifetimeDays`](#mcpscheduledtaskapprovallifetimedays) | Scheduled-task tool approval lifetime | Connectors | Admin Console |
110| [`isLocalDevMcpEnabled`](#islocaldevmcpenabled) | Allow local MCP servers | Connectors | Admin Console |
111| [`allowedPluginMcpServers`](#allowedpluginmcpservers) | Allowed plugin MCP servers | Connectors | Admin Console |
112| [`deniedPluginMcpServers`](#deniedpluginmcpservers) | Blocked plugin MCP servers | Connectors | Admin Console |
113| [`mcpToolTimeoutSec`](#mcptooltimeoutsec) | MCP tool call timeout | Connectors | Admin Console |
114114| [`microsoftAuthBroker`](#microsoftauthbroker) | Microsoft 365 native sign-in broker | Connectors | Admin Console |
115115| [`microsoftAuthDefaultAccount`](#microsoftauthdefaultaccount) | Microsoft 365 sign-in with the Windows account | Connectors | Admin Console |
116116| [`isDesktopExtensionEnabled`](#isdesktopextensionenabled) | Allow desktop extensions | Connectors | Admin Console |
117117| [`isDesktopExtensionSignatureRequired`](#isdesktopextensionsignaturerequired) | Require signed extensions | Connectors | Admin Console |
118| [`deploymentOrganizationUuid`](#deploymentorganizationuuid) | Organization UUID | Telemetry & updates | Self-hosted Admin Console |
119| [`disableEssentialTelemetry`](#disableessentialtelemetry) | Block essential telemetry | Telemetry & updates | Self-hosted Admin Console |
120| [`disableNonessentialTelemetry`](#disablenonessentialtelemetry) | Block nonessential telemetry | Telemetry & updates | Self-hosted Admin Console |
121| [`disableNonessentialServices`](#disablenonessentialservices) | Block nonessential services | Telemetry & updates | Self-hosted Admin Console |
118| [`deploymentOrganizationUuid`](#deploymentorganizationuuid) | Organization UUID | Telemetry & updates | Admin Console |
119| [`disableEssentialTelemetry`](#disableessentialtelemetry) | Block essential telemetry | Telemetry & updates | Admin Console |
120| [`disableNonessentialTelemetry`](#disablenonessentialtelemetry) | Block nonessential telemetry | Telemetry & updates | Admin Console |
121| [`disableNonessentialServices`](#disablenonessentialservices) | Block nonessential services | Telemetry & updates | Admin Console |
122122| [`otlpEndpoint`](#otlpendpoint) | OTLP endpoint | Telemetry & updates | Admin Console |
123123| [`otlpProtocol`](#otlpprotocol) | OTLP protocol | Telemetry & updates | Admin Console |
124124| [`otlpHeaders`](#otlpheaders) | OTLP headers | Telemetry & updates | Admin Console |
125125| [`otlpAuthMode`](#otlpauthmode) | Collector authentication | Telemetry & updates | Admin Console |
126126| [`otlpHeadersHelper`](#otlpheadershelper) | OTLP headers helper script | Telemetry & updates | Admin Console |
127| [`otlpResourceAttributes`](#otlpresourceattributes) | Resource attributes | Telemetry & updates | Self-hosted Admin Console |
128| [`otlpDesktopLogLevel`](#otlpdesktoploglevel) | Desktop telemetry export level | Telemetry & updates | Self-hosted Admin Console |
129| [`otlpContentCapture`](#otlpcontentcapture) | Content capture | Telemetry & updates | Self-hosted Admin Console |
130| [`otlpTracesEnabled`](#otlptracesenabled) | Export traces | Telemetry & updates | Self-hosted Admin Console |
131| [`otlpAttrMaxChars`](#otlpattrmaxchars) | Telemetry attribute length limit | Telemetry & updates | Self-hosted Admin Console |
132| [`disableAutoUpdates`](#disableautoupdates) | Block auto-updates | Telemetry & updates | Self-hosted Admin Console |
127| [`otlpResourceAttributes`](#otlpresourceattributes) | Resource attributes | Telemetry & updates | Admin Console |
128| [`otlpDesktopLogLevel`](#otlpdesktoploglevel) | Desktop telemetry export level | Telemetry & updates | Admin Console |
129| [`otlpContentCapture`](#otlpcontentcapture) | Content capture | Telemetry & updates | Admin Console |
130| [`otlpTracesEnabled`](#otlptracesenabled) | Export traces | Telemetry & updates | Admin Console |
131| [`otlpAttrMaxChars`](#otlpattrmaxchars) | Telemetry attribute length limit | Telemetry & updates | Admin Console |
132| [`disableAutoUpdates`](#disableautoupdates) | Block auto-updates | Telemetry & updates | Admin Console |
133133| [`installedUpdateEnforcementEnabled`](#installedupdateenforcementenabled) | Restart to apply installed updates | Telemetry & updates | Admin Console |
134134| [`installedUpdateEnforcementHours`](#installedupdateenforcementhours) | Installed-update enforcement window | Telemetry & updates | Admin Console |
135| [`autoUpdaterEnforcementHours`](#autoupdaterenforcementhours) | Auto-update enforcement window | Telemetry & updates | Self-hosted Admin Console |
135| [`autoUpdaterEnforcementHours`](#autoupdaterenforcementhours) | Auto-update enforcement window | Telemetry & updates | Admin Console |
136136| [`updateViaUpdatesHost`](#updateviaupdateshost) | Check for updates on releases.claude.com | Telemetry & updates | Admin Console |
137| [`releaseChannel`](#releasechannel) | Release channel | Telemetry & updates | Self-hosted Admin Console |
138| [`relaunchEnforcementHours`](#relaunchenforcementhours) | Configuration relaunch window | Telemetry & updates | Self-hosted Admin Console |
139| [`configRecheckIntervalMinutes`](#configrecheckintervalminutes) | Configuration re-check interval | Telemetry & updates | Self-hosted Admin Console |
137| [`releaseChannel`](#releasechannel) | Release channel | Telemetry & updates | Admin Console |
138| [`relaunchEnforcementHours`](#relaunchenforcementhours) | Configuration relaunch window | Telemetry & updates | Admin Console |
139| [`configRecheckIntervalMinutes`](#configrecheckintervalminutes) | Configuration re-check interval | Telemetry & updates | Admin Console |
140140| [`disableLocalConfigCache`](#disablelocalconfigcache) | Keep only your organization ID and restrictions on disk | Telemetry & updates | Admin Console |
141141| [`chatSessionRetentionDays`](#chatsessionretentiondays) | Chat retention period | Limits | Admin Console |
142| [`coworkSessionRetentionDays`](#coworksessionretentiondays) | Cowork retention period | Limits | Self-hosted Admin Console |
143| [`codeSessionRetentionDays`](#codesessionretentiondays) | Code retention period | Limits | Self-hosted Admin Console |
144| [`sessionRetentionHold`](#sessionretentionhold) | Suspend session deletion | Limits | Self-hosted Admin Console |
145| [`inferenceMaxTokensPerWindow`](#inferencemaxtokensperwindow) | Max tokens per window | Limits | Self-hosted Admin Console |
146| [`inferenceTokenWindowHours`](#inferencetokenwindowhours) | Token cap window | Limits | Self-hosted Admin Console |
142| [`coworkSessionRetentionDays`](#coworksessionretentiondays) | Cowork retention period | Limits | Admin Console |
143| [`codeSessionRetentionDays`](#codesessionretentiondays) | Code retention period | Limits | Admin Console |
144| [`sessionRetentionHold`](#sessionretentionhold) | Suspend session deletion | Limits | Admin Console |
145| [`inferenceMaxTokensPerWindow`](#inferencemaxtokensperwindow) | Max tokens per window | Limits | Admin Console |
146| [`inferenceTokenWindowHours`](#inferencetokenwindowhours) | Token cap window | Limits | Admin Console |
147147| [`inferenceTokenWarningPercent`](#inferencetokenwarningpercent) | Token limit warning | Limits | Admin Console |
148| [`endUserAttribution`](#enduserattribution) | End-user attribution | Appearance | Self-hosted Admin Console |
149| [`deploymentDisplayName`](#deploymentdisplayname) | Deployment display name | Appearance | Self-hosted Admin Console |
150| [`deploymentDisplaySubtitle`](#deploymentdisplaysubtitle) | Deployment display subtitle | Appearance | Self-hosted |
151| [`disableConfigDeprecationWarnings`](#disableconfigdeprecationwarnings) | Hide configuration deprecation warnings | Appearance | Self-hosted Admin Console |
152| [`banner`](#banner) | Organization banner | Appearance | Self-hosted Admin Console |
148| [`endUserAttribution`](#enduserattribution) | End-user attribution | Appearance | Admin Console |
149| [`deploymentDisplayName`](#deploymentdisplayname) | Deployment display name | Appearance | Admin Console |
150| [`deploymentDisplaySubtitle`](#deploymentdisplaysubtitle) | Deployment display subtitle | Appearance | |
151| [`disableConfigDeprecationWarnings`](#disableconfigdeprecationwarnings) | Hide configuration deprecation warnings | Appearance | Admin Console |
152| [`banner`](#banner) | Organization banner | Appearance | Admin Console |
153153| [`sessionStatusLine`](#sessionstatusline) | Status line | Appearance | Admin Console |
154| [`disableFeatureDiscovery`](#disablefeaturediscovery) | Hide feature announcements | Appearance | Self-hosted Admin Console |
155| [`allowedPluginMarketplaces`](#allowedpluginmarketplaces) | Plugin marketplaces | Plugins | Self-hosted Admin Console |
156| [`orgPluginSettings`](#orgpluginsettings) | Organization plugin settings | Plugins | Self-hosted Admin Console |
157| [`bootstrapEnabled`](#bootstrapenabled) | Use bootstrap config | Source | Self-hosted |
158| [`bootstrapUrl`](#bootstrapurl) | Bootstrap config URL | Source | Self-hosted |
159| [`bootstrapOidc`](#bootstrapoidc) | Bootstrap OIDC parameters | Source | Self-hosted |
160| [`bootstrapHeaders`](#bootstrapheaders) | Bootstrap request headers | Source | Self-hosted |
161| [`bootstrapHeadersHelper`](#bootstrapheadershelper) | Bootstrap headers helper script | Source | Self-hosted |
162| [`trustBootstrapDelivery`](#trustbootstrapdelivery) | Trust bootstrap-delivered settings | Source | Self-hosted |
154| [`disableFeatureDiscovery`](#disablefeaturediscovery) | Hide feature announcements | Appearance | Admin Console |
155| [`allowedPluginMarketplaces`](#allowedpluginmarketplaces) | Plugin marketplaces | Plugins | Admin Console |
156| [`orgPluginSettings`](#orgpluginsettings) | Organization plugin settings | Plugins | Admin Console |
157| [`bootstrapEnabled`](#bootstrapenabled) | Use bootstrap config | Source | |
158| [`bootstrapUrl`](#bootstrapurl) | Bootstrap config URL | Source | |
159| [`bootstrapOidc`](#bootstrapoidc) | Bootstrap OIDC parameters | Source | |
160| [`bootstrapHeaders`](#bootstrapheaders) | Bootstrap request headers | Source | |
161| [`bootstrapHeadersHelper`](#bootstrapheadershelper) | Bootstrap headers helper script | Source | |
162| [`trustBootstrapDelivery`](#trustbootstrapdelivery) | Trust bootstrap-delivered settings | Source | |
163163 
164164## Connection
165165 
from line 171
171171 
172172One of: `gateway`, `anthropic`, `bedrock`, `mantle`, `vertex`, `foundry`
173173 
174[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
175 
176174> **More detail**
177175>
178176> The app opens in third-party mode unless the user chose to sign in to Claude.ai at the login screen. `disableDeploymentModeChooser` removes that choice.
from line 195
197195>
198196> * `inferenceCredentialKind: "interactive" together with inferenceGatewayOidc (gateway)`; use "external-idp" once every desktop in the fleet is on a release that reads it. The original spelling will keep working ("interactive" with inferenceGatewayOidc is read as "external-idp"); no end date has been set.
199197 
200[Self-hosted install](#self-hosted-column): MDM profile. In self-hosted mode it names the device's sign-in to the host, never the host's model credential.
201 
202198***
203199 
204200### `inferenceSessionLifetimeSec`
from line 203
207203 
208204**Sign-in session lifetime.** Seconds your identity provider keeps a sign-in valid. The app shows a re-authenticate banner before then.
209205 
210[Self-hosted install](#self-hosted-column): Not supported. The session host is the one source for how long a sign-in to it lasts, and it reads no figure from this key.
211 
212206***
213207 
214208### `userContentRendererUrl`
from line 211
217211 
218212**Artifact preview iframe origin.** HTTPS origin of the server that artifact and file previews load from. Unset: [www.claudeusercontent.com](http://www.claudeusercontent.com).
219213 
220[Self-hosted install](#self-hosted-column): Not supported. Names where Desktop loads its previews from, and no session host passes the setting on to Desktop yet.
221 
222214***
223215 
224216### `inferenceCustomHeaders`
from line 219
227219 
228220**Custom inference headers.** Extra headers sent with every model request. Routing and tenant headers only: do not put credentials here.
229221 
230[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it adds the admin's headers to them.
231 
232222> **More detail**
233223>
234224> This key is stored and distributed as plain configuration. For tokens, and for values that differ per user or session, have `inferenceCredentialHelper` print JSON with a `headers` field. On a conflict, the helper script's header takes priority.
from line 234
244234Since 1.2581.0
245235 
246236**Helper script.** Absolute path to an executable that prints the credential, optionally with per-request headers.
247 
248[Self-hosted install](#self-hosted-column): MDM profile. Names a program on the person's computer, reused for the device's sign-in to the host.
249237 
250238> **More detail**
251239>
from line 256
268256 
269257**Helper script (Windows).** Full path to the script that Windows devices run instead of Helper script. Unset: Helper script runs on every platform.
270258 
271[Self-hosted install](#self-hosted-column): MDM profile. Names a Windows program on the person's computer, reused for the device's sign-in to the host.
272 
273259***
274260 
275261### `inferenceCredentialHelperArgs`
from line 268
282268 
283269**Helper script arguments.** Arguments passed to the helper script, one per entry, in order. Leave unset to run it with none.
284270 
285[Self-hosted install](#self-hosted-column): MDM profile. Gives arguments to a helper program on the person's computer, reused for the device's sign-in to the host.
286 
287271> **More detail**
288272>
289273> Do not put secrets in arguments: the diagnostic report and other processes on the device can see them.
from line 286
302286 
303287**Helper script TTL.** Seconds the helper script’s output is cached. When it expires, the script runs again. Unset: 3600.
304288 
305[Self-hosted install](#self-hosted-column): MDM profile. Sets how long the desktop app caches its helper's output, reused for the device's sign-in to the host.
306 
307289***
308290 
309291### `inferenceCredentialHelperTimeoutSec`
from line 298
316298 
317299**Credential helper timeout.** Seconds to wait for the helper script to finish. Raise this if it opens a browser for sign-in. Unset: 60.
318300 
319[Self-hosted install](#self-hosted-column): MDM profile. Bounds a helper program on the person's computer, reused for the device's sign-in to the host.
320 
321301***
322302 
323303### `inferenceCredentialHelperSilentRefreshEnabled`
from line 310
330310 
331311**Re-run helper for silent refresh.** When the credential expires mid-session, run the helper script again to recover silently. Turn off if it cannot run without user input.
332312 
333[Self-hosted install](#self-hosted-column): MDM profile. Decides how the desktop app re-runs its helper on the person's computer, reused for sign-in to the host.
334 
335313***
336314 
337315### `egressProxyUrl`
from line 324
346324 
347325[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/network-proxy.md)
348326 
349[Self-hosted install](#self-hosted-column): MDM profile. Names the proxy for the person's computer, and a host's network belongs to its operator.
350 
351327[Admin Console](#the-works-with-column): Not available.
352328 
353329> **More detail**
from line 350
374350 
375351[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/network-proxy.md)
376352 
377[Self-hosted install](#self-hosted-column): MDM profile. Describes the network of the person's computer, which Desktop applies to its own traffic.
378 
379353[Admin Console](#the-works-with-column): Not available.
380354 
381355> **More detail**
from line 370
396370 
397371**Enable IPv6 in the workspace VM.** Give the Cowork workspace VM an IPv6 address so Claude’s tools can reach IPv6-only hosts through the device. macOS and Windows only.
398372 
399[Self-hosted install](#self-hosted-column): Not supported. Configures Cowork's local virtual machine, which a host session does not have.
400 
401373> **More detail**
402374>
403375> IPv6 works in the VM only where the device's own IPv6 works.
from line 392
420392 
421393**Gateway base URL.** Full URL of the inference gateway endpoint.
422394 
423[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
424 
425395***
426396 
427397#### `inferenceGatewayApiKey`
from line 400
430400 
431401**Gateway API key.** API key for the configured inference gateway.
432402 
433[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
434 
435403[Admin Console](#the-works-with-column): Not available.
436404 
437405***
from line 418
450418>
451419> * `inferenceGatewayAuthScheme: "sso"`; use inferenceCredentialKind: "interactive". The original spelling will keep working; no end date has been set.
452420 
453[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
454 
455421***
456422 
457423#### `inferenceGatewayOidcAuthFlow`
from line 433
467433> **Deprecated**
468434>
469435> * Use inferenceIdpAuthFlow together with inferenceIdpOidc once every desktop in the fleet is on a release that reads them. The original spelling will keep working; no end date has been set.
470 
471[Self-hosted install](#self-hosted-column): Not supported. Deprecated name for the choice of sign-in window on the person's computer.
472436 
473437> **More detail**
474438>
from line 461
497461 
498462[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/gateway.md#single-sign-on-with-your-identity-provider)
499463 
500[Self-hosted install](#self-hosted-column): Not supported. Deprecated name for a sign-in that runs on the person's computer.
501 
502464> **More detail**
503465>
504466> Used with `inferenceCredentialKind` set to `interactive`. Leave it unset for a gateway that runs its own sign-in and serves `<baseUrl>/.well-known/oauth-authorization-server`.
from line 552
590552**Identity provider sign-in flow.** How the identity-provider sign-in runs: system browser (default) or the OS Microsoft Entra broker.
591553 
592554One of: `browser`, `broker`
593 
594[Self-hosted install](#self-hosted-column): MDM profile. Chooses a sign-in window on the person's computer, also used for the device's sign-in to the host.
595555 
596556> **More detail**
597557>
from line 572
612572 
613573**Identity provider (OIDC).** Your organization’s OpenID Connect identity provider. The user’s token is sent as the Bearer credential to the gateway or the Bedrock proxy.
614574 
615[Self-hosted install](#self-hosted-column): MDM profile. Configures an interactive sign-in on the person's computer, reused to sign the device in to the host.
616 
617575> **More detail**
618576>
619577> Used when `inferenceCredentialKind` is `external-idp`. Register the redirect URI given under `inferenceIdpAuthFlow` with your identity provider.
from line 662
704662 
705663**Stream idle timeout.** Extra seconds to wait for model output on a streaming response that is sending only keep-alive pings. Gateway provider only. Default 300.
706664 
707[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it sets how long a stream sending only keep-alive pings may wait for output.
708 
709665> **More detail**
710666>
711667> With pings arriving (SSE `ping` events or `:` comment lines), sessions accept at least about five minutes of them, then wait this many seconds more. With no pings, a silent response still fails after about 5 minutes whatever this value, so make the gateway send them.
from line 678
722678 
723679**Claude API key.** Leave blank to sign in with your browser, or to supply the key via a credential helper.
724680 
725[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
726 
727681[Admin Console](#the-works-with-column): Not available.
728682 
729683***
from line 690
736690 
737691**AWS region.** AWS region for the Bedrock runtime endpoint.
738692 
739[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
740 
741693***
742694 
743695#### `inferenceBedrockBaseUrl`
from line 704
752704 
753705**Bedrock base URL.** For VPC endpoints or gateway proxies. Enter https\:// and the host, with no path.
754706 
755[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
756 
757707***
758708 
759709#### `inferenceBedrockServiceTier`
from line 714
764714 
765715One of: `flex`, `priority`
766716 
767[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
768 
769717***
770718 
771719#### `inferenceBedrockBearerToken`
from line 722
774722 
775723**AWS bearer token.** Static bearer token for inference. For providers that support profile or helper-script credentials, prefer those.
776724 
777[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
778 
779725[Admin Console](#the-works-with-column): Not available.
780726 
781727***
from line 736
790736 
791737**AWS SSO start URL.** Enables in-app AWS sign-in (no AWS CLI needed). Set with the three SSO fields below.
792738 
793[Self-hosted install](#self-hosted-column): Not supported. Drives a browser sign-in on the person's computer, and a host never calls Bedrock as the person.
794 
795739***
796740 
797741#### `inferenceBedrockSsoRegion`
from line 748
804748 
805749**AWS SSO region.** IAM Identity Center home region.
806750 
807[Self-hosted install](#self-hosted-column): Not supported. Configures a browser sign-in on the person's computer, and a host-run session has no browser.
808 
809751***
810752 
811753#### `inferenceBedrockSsoAccountId`
from line 760
818760 
819761**AWS SSO account ID.** 12-digit AWS account ID assigned to users in IAM Identity Center.
820762 
821[Self-hosted install](#self-hosted-column): Not supported. Names an AWS account for a browser sign-in on the person's computer, which a host never performs.
822 
823763***
824764 
825765#### `inferenceBedrockSsoRoleName`
from line 772
832772 
833773**AWS SSO role name.** IAM Identity Center permission-set name granting bedrock:InvokeModel\* on the account above.
834774 
835[Self-hosted install](#self-hosted-column): Not supported. Names an AWS role for a browser sign-in that is only possible on the person's computer.
836 
837775***
838776 
839777#### `inferenceBedrockProfile`
from line 784
846784 
847785**AWS profile name.** AWS named profile to use for Bedrock inference credentials.
848786 
849[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
850 
851787***
852788 
853789#### `inferenceBedrockAwsDir`
from line 796
860796 
861797**AWS config directory.** Folder with AWS config/credentials. Defaults to \~/.aws when no bearer token is set.
862798 
863[Self-hosted install](#self-hosted-column): Not supported. Names a folder on the person's computer that a host does not have.
864 
865799***
866800 
867801#### `inferenceBedrockAwsCliPath`
from line 808
874808 
875809**AWS CLI path.** Absolute path to the aws executable. Leave unset to find it on PATH.
876810 
877[Self-hosted install](#self-hosted-column): Not supported. Names a program on the person's computer, and a host has no such program, browser or person.
878 
879811***
880812 
881813### Vertex
from line 822
890822 
891823**GCP project ID.** Google Cloud project ID for Vertex AI inference.
892824 
893[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
894 
895825***
896826 
897827#### `inferenceVertexRegion`
from line 830
900830 
901831**GCP region.** GCP region where your Vertex AI Claude models are deployed.
902832 
903[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
904 
905833***
906834 
907835#### `inferenceVertexBaseUrl`
from line 844
916844 
917845**Vertex AI base URL.** Private Service Connect endpoint, if you use one.
918846 
919[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
920 
921847***
922848 
923849#### `inferenceVertexOAuthClientId`
from line 856
930856 
931857**Vertex OAuth client ID.** Desktop-app OAuth client ID. Enables Sign in with Google instead of a credentials file.
932858 
933[Self-hosted install](#self-hosted-column): Not supported. Configures a Google browser sign-in on the person's computer, and a host calls Vertex as its own identity.
934 
935859***
936860 
937861#### `inferenceVertexOAuthClientSecret`
from line 864
940864 
941865**Vertex OAuth client secret.** Secret for the Desktop-app OAuth client above. Google does not treat such secrets as confidential, so the Admin Console can set it.
942866 
943[Self-hosted install](#self-hosted-column): Not supported. Secret for the person's own Google sign-in, and a host calls Vertex as its own Google identity.
944 
945867***
946868 
947869#### `inferenceVertexOAuthScopes`
from line 872
950872 
951873**Vertex OAuth scopes.** Override the Google OAuth scopes (space-separated). Leave blank for the default.
952874 
953[Self-hosted install](#self-hosted-column): Not supported. Sets scopes for a browser sign-in on the person's computer, and a host calls Vertex as its own identity.
954 
955875***
956876 
957877#### `inferenceVertexOAuthLoginHint`
from line 880
960880 
961881**Vertex OAuth login hint.** Pre-fill Google's account chooser and forward to your federated IdP. \{username} expands to the OS login name.
962882 
963[Self-hosted install](#self-hosted-column): Not supported. Steers a browser sign-in on the person's computer, and a host calls Vertex as its own Google identity.
964 
965883***
966884 
967885#### `inferenceVertexWorkforceAudience`
from line 892
974892 
975893**Workforce Identity audience.** Workforce-pool provider audience. When set, sign-in uses your own IdP plus a GCP STS exchange instead of a Google identity.
976894 
977[Self-hosted install](#self-hosted-column): Not supported. Configures a sign-in the person completes on their computer, and a host calls Vertex as its own identity.
978 
979895***
980896 
981897#### `inferenceVertexWorkforceUserProject`
from line 904
988904 
989905**Workforce Identity billing project.** GCP project for STS billing and quota. Defaults to the Vertex project ID above.
990906 
991[Self-hosted install](#self-hosted-column): Not supported. Bills the exchange of the person's own sign-in token, and a host calls Vertex as its own identity.
992 
993907***
994908 
995909#### `inferenceVertexWorkforceAuthFlow`
from line 913
999913**Workforce Identity sign-in flow.** How the IdP sign-in runs: system browser (default) or the OS Microsoft Entra broker.
1000914 
1001915One of: `browser`, `broker`
1002 
1003[Self-hosted install](#self-hosted-column): Not supported. Chooses how the person signs in on their computer, and a host calls Vertex as its own identity.
1004916 
1005917> **More detail**
1006918>
from line 933
1021933 
1022934**Workforce Identity IdP (OIDC).** Your organization’s OpenID Connect identity provider. Users sign in there, and the app exchanges their ID token at GCP STS.
1023935 
1024[Self-hosted install](#self-hosted-column): Not supported. Sets up the person's sign-in on their own computer, and a host calls Vertex as its own Google identity.
1025 
1026936> **Child attributes (9)**
1027937>
1028938> **clientId** `string` *required*
from line 989
1079989 
1080990**GCP credentials file path.** Full path to a service-account JSON file. Unset: Application Default Credentials.
1081991 
1082[Self-hosted install](#self-hosted-column): Not supported. Names a file on the person's computer that no host has.
1083 
1084992***
1085993 
1086994### Foundry
from line 1003
10951003 
10961004**Azure AI Foundry resource name.** Azure AI Foundry resource name used to construct the endpoint URL.
10971005 
1098[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
1099 
11001006***
11011007 
11021008#### `inferenceFoundryBaseUrl`
from line 1017
11111017 
11121018**Azure AI Foundry base URL.** Full base URL for a gateway or proxy in front of Foundry, path included (replaces [https://RESOURCE.services.ai.azure.com/anthropic](https://RESOURCE.services.ai.azure.com/anthropic)).
11131019 
1114[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
1115 
11161020> **More detail**
11171021>
11181022> Point it only at a gateway or proxy that you run. Requests carry the credential that the app would send to Foundry: the user's Entra ID token, the API key or the helper script's output.
from line 1031
11271031 
11281032**Azure AI Foundry API key.** API key for Azure AI Foundry inference.
11291033 
1130[Self-hosted install](#self-hosted-column): Not supported. Part of the device's own route to the model, and a session host's route is its operator's to set.
1131 
11321034[Admin Console](#the-works-with-column): Not available.
11331035 
11341036***
from line 1045
11431045 
11441046**Entra ID tenant ID.** Directory (tenant) ID of the Entra ID app registration that has the Cognitive Services scope.
11451047 
1146[Self-hosted install](#self-hosted-column): Not supported. Names the tenant for an Entra sign-in on the person's computer.
1147 
11481048***
11491049 
11501050#### `inferenceFoundryClientId`
from line 1057
11571057 
11581058**Entra ID client ID.** Application (client) ID of the Entra ID app registration. Device-code sign-in requires the app to allow public client flows.
11591059 
1160[Self-hosted install](#self-hosted-column): Not supported. Configures an Entra sign-in the person completes on their computer.
1161 
11621060***
11631061 
11641062#### `inferenceFoundryAuthFlow`
from line 1066
11681066**Entra ID sign-in flow.** How Entra sign-in runs: device code (default), system browser, or the OS identity broker.
11691067 
11701068One of: `device-code`, `browser`, `broker`
1171 
1172[Self-hosted install](#self-hosted-column): Not supported. Chooses how the person's Entra sign-in runs on their computer.
11731069 
11741070> **More detail**
11751071>
from line 1083
11871083 
11881084**Model discovery.** Auto-populate the model picker from the provider at launch.
11891085 
1190[Self-hosted install](#self-hosted-column): Not supported. A session host states the models it offers, so Desktop discovers none itself, whatever this says.
1191 
11921086> **More detail**
11931087>
11941088> Turn this off if your network cannot reach your inference provider's model-list endpoint.
from line 1098
12041098 
12051099**Use 1M wherever it’s available.** Every model that offers 1M context shows only its 1M option in the model picker.
12061100 
1207[Self-hosted install](#self-hosted-column): Server side. When on, the host gives a session that names no model the 1M-token context, and tells Desktop.
1208 
12091101> **More detail**
12101102>
12111103> A listed model offers 1M when its `inferenceModels` entry sets `supports1m`. Without a list, a model offers 1M when your gateway's model list marks it.
from line 1110
12181110 
12191111**Model list.** Override the auto-discovered model list. First entry is the default.
12201112 
1221[Self-hosted install](#self-hosted-column): Server side. The host runs a session only on a model from this list, and tells Desktop what to show.
1222 
12231113> **More detail**
12241114>
12251115> Each entry is a model ID string or an object:
12261116>
1227> ```json theme={null} theme={null}
1117> ```json theme={null}
12281118> [
12291119> {"name": "claude-sonnet-5",
12301120> "supports1m": true},
from line 1185
12951185 
12961186One of: `low`, `medium`, `high`, `xhigh`, `max`
12971187 
1298[Self-hosted install](#self-hosted-column): Server side. The host sets the effort of a session that names none, and tells Desktop what to preselect.
1299 
13001188> **More detail**
13011189>
13021190> * A user's own effort choice for that model still applies, unless `alwaysStartWithDefaultModel` is on.
from line 1201
13131201 
13141202**Always start with the default model.** Each new conversation or task starts on the default model and effort, not the user’s last choice. Users can still change both for that one.
13151203 
1316[Self-hosted install](#self-hosted-column): Server side. Desktop's model picker acts on it, starting each new session on the default model.
1317 
13181204***
13191205 
13201206#### `inferenceModelPricingEnabled`
from line 1209
13231209 
13241210**Show estimated cost.** Show an estimated cost on the Usage page, at Anthropic list price unless you set a multiplier or per-model rates.
13251211 
1326[Self-hosted install](#self-hosted-column): Server side. When on, the host gives its sessions the admin's rates and multiplier; Desktop shows cost once they report it per turn.
1327 
13281212> **More detail**
13291213>
13301214> The estimate is in USD. `inferenceModelPricingMultiplier` and `inferenceModelPricing` adjust it, and are ignored while this is off.
from line 1225
13411225 
13421226**Price multiplier.** Scales every estimated cost (0.85 = 85% of the price); between 0 and 1.
13431227 
1344[Self-hosted install](#self-hosted-column): Server side. While Show estimated cost is on, the host hands Claude Code this multiplier for the cost its sessions report.
1345 
13461228***
13471229 
13481230#### `inferenceModelPricing`
from line 1233
13511233 
13521234**Model pricing.** Per-model rates replacing Anthropic list price in the Usage page’s estimate.
13531235 
1354[Self-hosted install](#self-hosted-column): Server side. While Show estimated cost is on, the host hands Claude Code these rates for the cost its sessions report.
1355 
13561236> **Child attributes (5)**
13571237>
13581238> **name** `string` *required*
from line 1263
13831263 
13841264**Model catalog metadata.** Fetch Anthropic’s model catalog for model picker names, descriptions and effort options. When off, the app uses only its bundled copy.
13851265 
1386[Self-hosted install](#self-hosted-column): Server side. The host serves the model catalog's rows to Desktop, and to nobody for whom this is off.
1387 
13881266[Admin Console](#the-works-with-column): Not available.
13891267 
13901268> **More detail**
from line 1278
14001278stringSince 2.110.0
14011279 
14021280**Model catalog URL.** Get the model catalog from a mirror inside your network instead of downloads.claude.ai.
1403 
1404[Self-hosted install](#self-hosted-column): Server side. Only Desktop versions too old to take the model catalog's rows from their session host fetch from here.
14051281 
14061282[Admin Console](#the-works-with-column): Not available.
14071283 
from line 1301
14251301 
14261302**Allow Cowork.** Enable Cowork. Claude works on longer tasks like research, analysis, and documents.
14271303 
1428[Self-hosted install](#self-hosted-column): Not supported. On a session host desktopHome alone decides Cowork: to turn Cowork off, set desktopHome to off in its policy document.
1429 
14301304***
14311305 
14321306### Code surface
from line 1311
14371311 
14381312**Allow Code.** Enable Code. Claude writes and runs code.
14391313 
1440[Self-hosted install](#self-hosted-column): Server side. The host refuses Code sessions and routines where the tab is off, and tells Desktop to hide it.
1441 
14421314***
14431315 
14441316#### `sshHostAllowlist`
from line 1324
14521324**SSH host allowlist.** SSH hosts for Code sessions. Unset: off, unless the device’s Claude Code managed settings list hosts. \* allows any host.
14531325 
14541326[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md)
1455 
1456[Self-hosted install](#self-hosted-column): Not supported. Governs SSH sessions started from the person's computer, which self-hosted installs never offer.
14571327 
14581328> **More detail**
14591329>
from line 1350
14801350 
14811351[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md)
14821352 
1483[Self-hosted install](#self-hosted-column): Not supported. Names the ssh program on the person's computer, and self-hosted installs offer no SSH sessions.
1484 
14851353> **More detail**
14861354>
14871355> The app never runs another `ssh` in its place. If the program is missing, too old or cannot run, SSH sessions fail. So deliver this key only to devices that have the program.
from line 1373
15051373One of: `auto`, `system-openssh`, `builtin`
15061374 
15071375[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md)
1508 
1509[Self-hosted install](#self-hosted-column): Not supported. Chooses the SSH engine on the person's computer, and self-hosted installs offer no SSH sessions.
15101376 
15111377> **More detail**
15121378>
from line 1391
15251391 
15261392**Allow Chat.** Enable Chat. Quick questions and drafting.
15271393 
1528[Self-hosted install](#self-hosted-column): Not supported. No Chat session can start on a session host, so the switch has nothing to turn on or off there.
1529 
15301394***
15311395 
15321396#### `desktopHome`
from line 1401
15371401 
15381402One of: `standard`, `off`
15391403 
1540[Self-hosted install](#self-hosted-column): Server side. Alone decides Cowork, which is on only while this is unset or standard; else the host refuses it and Desktop hides it.
1541 
15421404> **More detail**
15431405>
15441406> `standard` turns on Unified Claude. `off` turns Chat and Cowork off, which leaves only Code, or nothing where Code is off. `isClaudeCodeForDesktopEnabled` still decides Code.
from line 1417
15551417 
15561418**Advanced file analysis.** Allow Claude to run code in a local sandbox to analyze attached files it can’t read natively — like Excel and PowerPoint.
15571419 
1558[Self-hosted install](#self-hosted-column): Not supported. Configures a Chat session's local sandbox, and no Chat session can start on a self-hosted install.
1559 
15601420> **More detail**
15611421>
15621422> Of the user's files, the sandbox can read only those attached to the conversation and folders added to the chat's project through the app (read-only).
from line 1436
15761436**Allowed egress hosts.** Hosts that Claude’s tools can reach from Chat and Cowork, and partly from Code. Unset or empty: no web fetch in Chat and Cowork.
15771437 
15781438[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/web-tools.md#web-fetch)
1579 
1580[Self-hosted install](#self-hosted-column): Server side. Tools in the host's sessions make the network calls, so the host limits which addresses they may reach.
15811439 
15821440> **More detail**
15831441>
from line 1455
15971455 
15981456**Allowed workspace folders.** Folders that Claude can use in chat projects, Cowork and Code. Code’s shell commands are only partly limited. Unset: all folders.
15991457 
1600[Self-hosted install](#self-hosted-column): Server side. The host refuses file access outside folders listed as full paths, and Desktop checks those listed with \~ or a variable.
1601 
16021458> **More detail**
16031459>
16041460> Claude can read and write in every listed folder unless its `mode` is `ro`. An empty list allows none.
from line 1494
16381494booleanSince 1.46388.1
16391495 
16401496**Block reads outside working directories.** Keep Claude’s file tools from reading outside a Code session’s working directories. Shell commands are only partly limited.
1641 
1642[Self-hosted install](#self-hosted-column): Server side. The host starts Code sessions, so it hands Claude Code the block on reads outside their folders.
16431497 
16441498> **More detail**
16451499>
from line 1513
16591513 
16601514**Allow Auto mode.** Offer Auto mode, where Claude decides which actions need approval. Unset: in Code only. True adds Cowork.
16611515 
1662[Self-hosted install](#self-hosted-column): Server side. The host allows or refuses Auto mode for the sessions it runs, and tells Desktop what to offer.
1663 
16641516> **More detail**
16651517>
16661518> Unless it is `false`, new Code sessions normally start in Auto mode.
from line 1527
16751527 
16761528**Disable bypass permissions mode.** Remove the bypass permissions mode from Code sessions and Cowork tasks, so Claude always follows the permission policy. Off by default.
16771529 
1678[Self-hosted install](#self-hosted-column): Not supported. A session host never offers bypass mode, so every session it runs already has it off.
1679 
16801530***
16811531 
16821532#### `disableBundledSkills`
from line 1535
16851535 
16861536**Disable bundled skills and workflows.** Disables Claude Code’s bundled skills and workflows (deep-research and similar). Use where WebFetch/WebSearch aren’t available.
16871537 
1688[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it is the one that turns the bundled skills off.
1689 
16901538***
16911539 
16921540#### `skillCreationEnabled`
from line 1543
16951543 
16961544**Allow user-created skills.** Let users create and upload their own skills, and let Claude save skills. Skill files added outside the app are not blocked.
16971545 
1698[Self-hosted install](#self-hosted-column): Server side. The host stores people's skills, so when this is off it refuses new ones and tells Desktop to hide creation.
1699 
17001546> **More detail**
17011547>
17021548> Skills already on the device stay usable. Plugins from your organization and bundled skills are not affected. To turn off bundled skills, use `disableBundledSkills`.
from line 1560
17141560**Scan user-created skills.** Run a security scan on each skill a user creates or uploads before it can be used. Skills that fail the security scan are blocked.
17151561 
17161562[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/skill-scanning.md)
1717 
1718[Self-hosted install](#self-hosted-column): Server side. The host holds skills people save, plugins they upload and your marketplaces' plugins until your model passes them.
17191563 
17201564> **More detail**
17211565>
from line 1583
17391583 
17401584**Allow user-added plugin marketplaces.** Let users add plugin marketplaces. When off, the app hides the ones your organization did not add and normally does not load their plugins.
17411585 
1742[Self-hosted install](#self-hosted-column): Server side. Desktop hides and refuses adding a marketplace when off; no session host loads a person's own marketplaces yet.
1743 
17441586> **More detail**
17451587>
17461588> Nothing is deleted: turning it back on restores the hidden marketplaces.
from line 1600
17581600 
17591601**Allow user-added plugins.** Allow users to add their own plugins. When off, the app hides every option for adding one and refuses uploads.
17601602 
1761[Self-hosted install](#self-hosted-column): Server side. The host keeps the plugins people upload and loads them in their sessions, and refuses new ones when this is off.
1762 
17631603> **More detail**
17641604>
17651605> Plugins that are already installed, or placed on disk outside the app, are not removed or blocked.
from line 1614
17741614 
17751615**Allow scheduled tasks.** Allow scheduled tasks in Cowork and Code. When off, scheduling is hidden, existing tasks stop running and Claude cannot create new ones.
17761616 
1777[Self-hosted install](#self-hosted-column): Server side. The host runs scheduled tasks, so when this is off it refuses to create or run them.
1778 
17791617> **More detail**
17801618>
17811619> Existing tasks are kept, not deleted, and run again when this is turned back on. While off, sessions also start without Claude Code's own scheduling tools, such as the `/loop` command.
from line 1626
17881626 
17891627**Allow projects.** Let users group chats and Cowork tasks into projects. When off, projects are hidden, not deleted.
17901628 
1791[Self-hosted install](#self-hosted-column): Server side. Desktop itself keeps projects on the person's computer and shows them in its own windows.
1792 
17931629> **More detail**
17941630>
17951631> Turning this off only hides projects. Their tasks and chats stay in the list, ungrouped. Their data stays on the user's device, and they come back when you turn it on again.
from line 1640
18041640 
18051641**Allow keep awake.** Let Claude keep the device awake. When off, Claude never prevents sleep and hides its keep-awake switches.
18061642 
1807[Self-hosted install](#self-hosted-column): Server side. Desktop itself asks the person's computer to stay awake, and shows the keep-awake switches.
1808 
18091643***
18101644 
18111645#### `developerModeEnabled`
from line 1648
18141648 
18151649**Allow Developer Mode.** Let users turn on Developer Mode. When off, the app’s developer tools and the option to install an unpacked extension are unavailable.
18161650 
1817[Self-hosted install](#self-hosted-column): Server side. Desktop offers its own Developer menu, developer tools and debugger on the person's computer.
1818 
18191651> **More detail**
18201652>
18211653> Unpacked extensions that are already installed keep working. An extension folder copied by hand into the app's extensions folder is not blocked. Packaged (`.mcpb`) extensions follow `isDesktopExtensionEnabled`, not this key.
from line 1659
18271659stringSince 3.1623.0
18281660 
18291661**Default Quick Entry shortcut.** Set the shortcut that opens Quick Entry, such as Ctrl+Alt+K, for users who haven’t set their own in Settings. Use “off” for no shortcut.
1830 
1831[Self-hosted install](#self-hosted-column): Server side. Desktop registers its Quick Entry shortcut with the operating system of the person's computer.
18321662 
18331663> **More detail**
18341664>
from line 1678
18481678 
18491679**Allow screenshots of the screen and other apps.** Let users screenshot their screen or other apps’ windows in Quick Entry on macOS. When off, it never asks for Screen Recording access.
18501680 
1851[Self-hosted install](#self-hosted-column): Server side. Desktop takes the picture on the person's computer and offers it in its own Quick Entry window.
1852 
18531681> **More detail**
18541682>
18551683> When off, another app's window that a user mentions with @ in a chat also comes without its picture.
from line 1692
18641692 
18651693**Allow sharing files open in other apps.** Let users attach the file open in another app’s window in Quick Entry on macOS. When off, it never asks for Accessibility access.
18661694 
1867[Self-hosted install](#self-hosted-column): Server side. Desktop finds the file on the person's computer and offers it in its own Quick Entry window.
1868 
18691695> **More detail**
18701696>
18711697> Off applies even where the Accessibility permission is already granted. Another app's window that a user mentions with @ in a chat then also comes without its file. Not covered: Claude's other uses of that permission, and files that users attach themselves.
from line 1703
18771703booleanSince 1.37937.0
18781704 
18791705**Skip WebFetch domain check.** Skip Claude Code’s WebFetch domain lookup against api.anthropic.com in Code sessions. Off by default; turn on when that host is blocked.
1880 
1881[Self-hosted install](#self-hosted-column): Not supported. A session host always skips the web fetch preflight check, whatever is written.
18821706 
18831707> **More detail**
18841708>
from line 1719
18951719 
18961720**Built-in tool policy.** Approval per tool or rule such as Bash(curl \*). “ask” prompts the user before each matching call. To block, use Disabled built-in tools.
18971721 
1898[Self-hosted install](#self-hosted-column): Server side. The host hands each session the admin's allow or ask rule for each built-in tool.
1899 
19001722> **More detail**
19011723>
19021724> Entries use the same tool names and rules as `disabledBuiltinTools`, with the same limits. Command rules are not a security boundary, and `Bash(…)` rules do not cover `PowerShell`.
from line 1737
19151737 
19161738**Disabled built-in tools.** Built-in tools, or rules such as Read(//etc/\*\*), blocked in Cowork and Code. Shell commands do not fully follow file-path rules.
19171739 
1918[Self-hosted install](#self-hosted-column): Server side. The host starts each session with the built-in tools and tool uses the admin denies turned off.
1919 
19201740> **More detail**
19211741>
19221742> An entry is a [tool name](https://code.claude.com/docs/en/tools-reference) such as `Bash`, or a [permission rule](https://code.claude.com/docs/en/permissions#permission-rule-syntax) such as `Edit(//etc/**)`.
from line 1755
19351755 
19361756[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/gateway.md#mcp-tool-search)
19371757 
1938[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it turns tool search on or off for its sessions.
1939 
19401758> **More detail**
19411759>
19421760> Your gateway or provider must accept what tool search adds, such as `tool-search-tool-2025-10-19` in the `anthropic-beta` header. Otherwise requests fail with HTTP 400. On Foundry or a custom base URL, requests also carry Claude Code's other experimental betas.
from line 1769
19511769 
19521770**Organization instructions.** Appended to Claude’s system prompt in Chat, Cowork, and Code. Guidance the model follows, not an enforced control. Up to 3,000 characters.
19531771 
1954[Self-hosted install](#self-hosted-column): Server side. The host adds the admin's instructions to every session it starts.
1955 
19561772> **More detail**
19571773>
19581774> Claude is told that they take priority over a user's personal preferences.
from line 1787
19711787 
19721788**Require full VM sandbox.** Runs tools inside an isolated VM instead of the host. Stronger isolation; slower file access and no host-process tools.
19731789 
1974[Self-hosted install](#self-hosted-column): Not supported. Chooses how Cowork runs on the person's own computer, and third-party installs no longer read it.
1975 
19761790[Admin Console](#the-works-with-column): Not available.
19771791 
19781792***
from line 1798
19841798booleanDefault: falseSince 1.3834.0
19851799 
19861800**Disable Claude.ai sign-in.** Users see only this provider at the login screen. The option to sign in to Claude.ai is hidden.
1987 
1988[Self-hosted install](#self-hosted-column): MDM profile. Shapes Desktop's sign-in screen and configuration source, settled before Desktop reaches the host.
19891801 
19901802[Admin Console](#the-works-with-column): Not available.
19911803 
from line 1817
20051817 
20061818**Disable claude:// deep-link handling.** Stop external apps and websites from opening Claude Desktop via claude:// links.
20071819 
2008[Self-hosted install](#self-hosted-column): MDM profile. Desktop registers claude:// links on the person's computer at launch, before it has signed in to the host.
2009 
20101820***
20111821 
20121822### Built-in browser
from line 1826
20161826booleanDefault: falseSince 2.2553.0
20171827 
20181828**Allow the built-in browser.** A browser in Cowork and Code where users and Claude can open and work with web pages. Site sign-ins stay on the device until cleared.
2019 
2020[Self-hosted install](#self-hosted-column): Not supported. The browser pane lives in Desktop on the person's computer, and host sessions get no browser tools.
20211829 
20221830[Admin Console](#the-works-with-column): Set automatically.
20231831 
from line 1847
20391847 
20401848One of: `allow` (default), `block`
20411849 
2042[Self-hosted install](#self-hosted-column): Not supported. Sets the default for Desktop's browser tools, and host sessions get no browser tools to allow or block.
2043 
20441850[Admin Console](#the-works-with-column): Set automatically.
20451851 
20461852> **More detail**
from line 1862
20561862string\[]Since 2.2553.0
20571863 
20581864**Allowed sites in the built-in browser.** Sites Claude may open, read, and act on in the built-in browser when the default site policy is block. Users can still view other sites.
2059 
2060[Self-hosted install](#self-hosted-column): Not supported. Lists sites allowed for Desktop's browser tools, and host sessions get no browser tools.
20611865 
20621866[Admin Console](#the-works-with-column): Set automatically.
20631867 
from line 1882
20781882 
20791883**Blocked sites in the built-in browser.** Sites Claude may not open, read, or act on in the built-in browser when the default site policy is allow. Users can still view them.
20801884 
2081[Self-hosted install](#self-hosted-column): Not supported. Lists sites blocked for Desktop's browser tools, and host sessions get no browser tools.
2082 
20831885[Admin Console](#the-works-with-column): Set automatically.
20841886 
20851887> **More detail**
from line 1899
20971899objectSince 1.10628.0
20981900 
20991901**Claude.ai data import.** Lets users import Claude.ai chats and projects, and earlier Claude sessions on this device.
2100 
2101[Self-hosted install](#self-hosted-column): Server side. Desktop can still export sessions stored on the person's computer, and imports none, since no session runs there.
21021902 
21031903> **Child attributes (5)**
21041904>
from line 1956
21561956object\[]Since 1.2581.0
21571957 
21581958**Managed MCP servers.** Org-pushed MCP servers: remote (HTTP/SSE) or local (stdio command).
2159 
2160[Self-hosted install](#self-hosted-column): Server side. The host connects the admin's MCP servers and applies each tool's rule, and tells Desktop which local ones to start.
21611959 
21621960> **More detail**
21631961>
from line 2550
27522550 
27532551**Allow persistent tool approvals.** Offer the persistent “Always allow” approval options for MCP tools. Disable to keep tool approvals per-call or session-scoped only.
27542552 
2755[Self-hosted install](#self-hosted-column): Server side. When off, the host leaves lasting MCP tool approvals out of its sessions, and tells Desktop not to offer them.
2756 
27572553> **More detail**
27582554>
27592555> When off, persistent approvals that users saved earlier in Chat and Cowork stop applying. Scheduled tasks also stop offering and reusing them, unless `mcpScheduledTaskApprovalLifetimeDays` is 1 or more.
from line 2563
27672563integerRange: 0–3,650Since 2.7032.0
27682564 
27692565**Scheduled-task tool approval lifetime.** Days a scheduled task can reuse a persistent MCP tool approval before it asks again. 0 turns reuse off. Unset: no limit.
2770 
2771[Self-hosted install](#self-hosted-column): Server side. The host limits how many days a scheduled task may reuse a lasting MCP tool approval, and tells Desktop.
27722566 
27732567> **More detail**
27742568>
from line 2578
27842578 
27852579**Allow local MCP servers.** Lets users run local (stdio) MCP servers added in Developer settings. On third-party deployments, off also stops plugins’ local servers.
27862580 
2787[Self-hosted install](#self-hosted-column): Server side. When off, only the local MCP servers the host names start on the person's computer, and none the person added.
2788 
27892581> **More detail**
27902582>
27912583> On third-party deployments, `false` covers `.mcpb` bundles and plugins from every marketplace, your organization's included. Plugins in the org-plugins directory on the device are not affected. In Code, it also stops the local servers that a user or a project configures for Claude Code.
from line 2593
28012593object\[]Since 2.2553.0
28022594 
28032595**Allowed plugin MCP servers.** Remote MCP servers that user-installed and marketplace plugins can connect, as URL patterns. Empty list: none. Unset: no limit.
2804 
2805[Self-hosted install](#self-hosted-column): Server side. Unset, the host admits every remote MCP server of the admin's marketplace plugins; set, only matching ones; empty, none.
28062596 
28072597> **More detail**
28082598>
from line 2616
28262616 
28272617**Blocked plugin MCP servers.** URL patterns of remote MCP servers that plugins cannot connect, even if the Allowed plugin MCP servers list allows them.
28282618 
2829[Self-hosted install](#self-hosted-column): Server side. The host refuses a plugin's remote MCP server that this list matches, even where the allowed list admits it.
2830 
28312619> **More detail**
28322620>
28332621> An entry matches an address, not a server. The same server under another host name or IP address, or behind a plugin's local server, is not matched. To keep a plugin's servers out whatever address they use, set `allowedPluginMcpServers`.
from line 2639
28512639integerRange: 60–3,600Since 1.37937.0
28522640 
28532641**MCP tool call timeout.** Per-call timeout for MCP tool calls, in seconds. Unset: 180 in Chat and Cowork.
2854 
2855[Self-hosted install](#self-hosted-column): Server side. The host starts Claude Code, so it sets how long an MCP tool call may run.
28562642 
28572643> **More detail**
28582644>
from line 2659
28732659 
28742660One of: `auto` (default), `disabled`, `required`
28752661 
2876[Self-hosted install](#self-hosted-column): Not supported. Steers the sign-in of Desktop's bundled Microsoft 365 connector, started for no session on a self-hosted install.
2877 
28782662> **More detail**
28792663>
28802664> The OS identity broker is Web Account Manager on Windows and the Company Portal SSO extension on macOS. Linux has no broker, so `required` is not supported there.
from line 2676
28922676**Microsoft 365 sign-in with the Windows account.** “enabled”: on Windows, connecting Microsoft 365 uses the work account already signed in to Windows. “disabled”: account picker.
28932677 
28942678One of: `enabled`, `disabled` (default)
2895 
2896[Self-hosted install](#self-hosted-column): Not supported. Picks the account for Desktop's bundled Microsoft 365 connector, started for no session on a self-hosted install.
28972679 
28982680> **More detail**
28992681>
from line 2698
29162698 
29172699**Allow desktop extensions.** Let Claude Desktop load desktop extensions (.dxt and .mcpb files). Unset: on where users sign in with Claude.ai.
29182700 
2919[Self-hosted install](#self-hosted-column): Not supported. Desktop keeps extensions off on a self-hosted install, whatever this setting says.
2920 
29212701> **More detail**
29222702>
29232703> In a third-party deployment, turning this on loads extensions that are already installed. Users cannot install new ones.
from line 2710
29302710 
29312711**Require signed extensions.** Reject desktop extensions that are not signed by a trusted publisher.
29322712 
2933[Self-hosted install](#self-hosted-column): Not supported. Desktop installs no extension on a self-hosted install, so there is no signature for it to require.
2934 
29352713***
29362714 
29372715## Telemetry & updates
from line 2720
29422720 
29432721**Organization UUID.** A UUID you generate. Tags telemetry so Anthropic support can find your events, and users’ local data is stored under it. Not used for auth.
29442722 
2945[Self-hosted install](#self-hosted-column): MDM profile. Tags the desktop app's telemetry and names its local data on the person's computer.
2946 
29472723[Admin Console](#the-works-with-column): Set automatically.
29482724 
29492725> **More detail**
from line 2737
29612737**Block essential telemetry.** Crash and performance reports to Anthropic.
29622738 
29632739[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#essential-telemetry)
2964 
2965[Self-hosted install](#self-hosted-column): MDM profile. Desktop starts its crash reports to Anthropic at launch, before sign-in, and a host's sessions never send any.
29662740 
29672741> **More detail**
29682742>
from line 2761
29872761 
29882762[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#non-essential-telemetry)
29892763 
2990[Self-hosted install](#self-hosted-column): MDM profile. Desktop sends usage analytics to Anthropic from before sign-in, and a host's sessions never send any.
2991 
29922764> **More detail**
29932765>
29942766> Applies only while the app runs in third-party mode. If users could otherwise sign in to Claude.ai on the device, also set `disableDeploymentModeChooser` so the app stays in third-party mode.
from line 2772
30002772booleanDefault: falseSince 1.2581.0
30012773 
30022774**Block nonessential services.** Connector icons, hosted artifact previews, MCP Apps widgets and the Linux spellcheck dictionary. Widgets fall back to text.
3003 
3004[Self-hosted install](#self-hosted-column): MDM profile. Desktop fetches connector icons, preview frames and a dictionary, starting before it has signed in to the host.
30052775 
30062776> **More detail**
30072777>
from line 2793
30232793 
30242794**OTLP endpoint.** Where OpenTelemetry logs and metrics are sent. Leave blank to disable.
30252795 
3026[Self-hosted install](#self-hosted-column): Not supported. Whoever runs the host names the collector in the host's own configuration, for its sessions and Desktop's events.
3027 
30282796***
30292797 
30302798#### `otlpProtocol`
from line 2803
30352803 
30362804One of: `http/protobuf` (default), `http/json`, `grpc`
30372805 
3038[Self-hosted install](#self-hosted-column): Not supported. Set beside the collector's address in the host's own configuration.
3039 
30402806> **More detail**
30412807>
30422808> With `grpc`, some exports still go over HTTP to the same endpoint, such as the app's own events.
from line 2817
30512817 
30522818**OTLP headers.** Static headers for routing and tenants only. No credentials here: use Collector authentication or the OTLP headers helper script.
30532819 
3054[Self-hosted install](#self-hosted-column): Not supported. The host keeps the collector's headers in its own configuration, so no document that a device fetches holds them.
3055 
30562820***
30572821 
30582822#### `otlpAuthMode`
from line 2827
30632827 
30642828One of: `none`, `inference-credential`
30652829 
3066[Self-hosted install](#self-hosted-column): Not supported. Would send the person's model token to the collector; a self-hosted Desktop holds none, and no host reads this.
3067 
30682830> **More detail**
30692831>
30702832> The credential can also make model requests as the user. For a collector you do not operate, use `otlpHeadersHelper` with a credential that can only send telemetry.
from line 2845
30832845 
30842846**OTLP headers helper script.** Full path to a helper script that prints collector headers as JSON. They take priority over OTLP headers and Collector authentication.
30852847 
3086[Self-hosted install](#self-hosted-column): Not supported. Desktop sends its own events to the host, which holds the collector's headers, so it runs no helper.
3087 
30882848> **More detail**
30892849>
30902850> The app runs it with no arguments. Sample output: `{"Authorization": "Bearer …"}`.
from line 2861
31012861 
31022862**Resource attributes.** Extra attributes to attach to every span, metric and log. An enduser.id set here takes priority over the signed-in user’s identity.
31032863 
3104[Self-hosted install](#self-hosted-column): Server side. The host stamps these attributes on the session telemetry it sends and on Desktop's events that it forwards.
3105 
31062864> **More detail**
31072865>
31082866> `process.owner` (the OS login name) is always sent to your collector. Set it here to replace the value.
from line 2875
31172875 
31182876One of: `off`, `error` (default), `warn`, `info`, `debug`
31192877 
3120[Self-hosted install](#self-hosted-column): Server side. The host tells Desktop at which level to send its own events, and filters them again before it forwards them.
3121 
31222878***
31232879 
31242880#### `otlpContentCapture`
from line 2884
31282884**Content capture.** Content categories Claude Desktop sends unredacted to your collector. `userPrompts` also sends Claude’s responses.
31292885 
31302886Any of: `userPrompts`, `assistantResponses`, `toolDetails`, `toolContent`, `rawApiBodies`
3131 
3132[Self-hosted install](#self-hosted-column): Server side. The host decides how much of a session's content its telemetry carries.
31332887 
31342888> **More detail**
31352889>
from line 2907
31532907 
31542908**Export traces.** Also export OpenTelemetry traces from Cowork tasks and Code sessions. Uses Claude Code’s session tracing.
31552909 
3156[Self-hosted install](#self-hosted-column): Server side. The host turns traces on or off in the session telemetry it sends.
3157 
31582910> **More detail**
31592911>
31602912> Has no effect without `otlpEndpoint`. With it set, this key alone decides whether Cowork tasks and Code sessions export traces. Unset or `false` keeps traces off even if a user's or a project's Claude Code settings, or managed settings, turn tracing on.
from line 2919
31672919 
31682920**Telemetry attribute length limit.** Maximum length, in characters, of captured content such as a raw API body. Unset: 61,440 in Cowork tasks and Code sessions.
31692921 
3170[Self-hosted install](#self-hosted-column): Server side. The host cuts long values in the session telemetry it sends.
3171 
31722922> **More detail**
31732923>
31742924> In Cowork tasks and Code sessions it applies to model responses, tool content and raw API bodies, not to user prompts.
from line 2939
31892939 
31902940**Block auto-updates.** Stop Claude Desktop from fetching updates entirely (no time limit). You’ll need to push new versions yourself.
31912941 
3192[Self-hosted install](#self-hosted-column): MDM profile. Desktop starts its updater at launch, before it has signed in to the host.
3193 
31942942> **More detail**
31952943>
31962944> When you install a newer version while Claude is open, the app shows a restart notice in the sidebar. To have Claude restart by itself if nobody restarts it, use `installedUpdateEnforcementEnabled`.
from line 2954
32062954booleanSince 3.6556.1
32072955 
32082956**Restart to apply installed updates.** With auto-updates blocked, Claude restarts by itself for a newer version installed while it was open. On Windows it may stay closed.
3209 
3210[Self-hosted install](#self-hosted-column): Not supported. Governs Desktop's own restart for a version installed on the computer, and no session host passes it on to Desktop yet.
32112957 
32122958> **More detail**
32132959>
from line 2971
32252971integerRange: 1–72Since 3.6556.1
32262972 
32272973**Installed-update enforcement window.** Hours before Claude restarts for a newer version installed while it was open. Unset: 72 hours, then when idle. A number skips the idle wait.
3228 
3229[Self-hosted install](#self-hosted-column): Not supported. Times Desktop's own restart for a version installed on the computer, and no session host passes it on to Desktop yet.
32302974 
32312975> **More detail**
32322976>
from line 2990
32462990 
32472991**Auto-update enforcement window.** Hours before a downloaded update force-installs. Only applies when auto-updates are enabled. Blank = 72-hour default.
32482992 
3249[Self-hosted install](#self-hosted-column): Server side. Desktop itself quits and installs a downloaded update of the app on the person's computer.
3250 
32512993> **More detail**
32522994>
32532995> * **Unset:** after 72 hours the app restarts once the device has been idle for 10 minutes.
from line 3007
32653007 
32663008**Check for updates on releases.claude.com.** Read the update feed from releases.claude.com so api.anthropic.com can stay blocked.
32673009 
3268[Self-hosted install](#self-hosted-column): Not supported. Where the session host answers the app's update checks, no Anthropic update server is left to choose.
3269 
32703010> **More detail**
32713011>
32723012> The installer still downloads from `downloads.claude.ai`, so keep that host open.
from line 3024
32843024**Release channel.** On Stable, devices take each release as it rolls out. On Staggered, they update less often, usually a week or more behind. Unset: Stable.
32853025 
32863026One of: `stable` (default), `staggered`
3287 
3288[Self-hosted install](#self-hosted-column): MDM profile. On staggered, the person can update only once Desktop has downloaded a build; the session host ignores the channel.
32893027 
32903028> **More detail**
32913029>
from line 3046
33083046 
33093047**Configuration relaunch window.** Hours users can keep working after a configuration change that needs a restart. 0: restart required at once. Unset: 24 hours.
33103048 
3311[Self-hosted install](#self-hosted-column): Server side. Desktop itself restarts on the person's computer after a change to the settings it reads from the device.
3312 
33133049> **More detail**
33143050>
33153051> When the time is up, a restart dialog blocks the app. The app then restarts by itself after 2 minutes with no activity and no running task.
from line 3062
33263062 
33273063**Configuration re-check interval.** Minutes between the running app’s checks for a changed managed configuration. Blank = 10 minutes.
33283064 
3329[Self-hosted install](#self-hosted-column): Server side. The host refreshes its own copy of the policy at least this often, and tells Desktop how often to ask it again.
3330 
33313065> **More detail**
33323066>
33333067> A change that needs a restart starts the `relaunchEnforcementHours` countdown.
from line 3099
33653099integerRange: 1–3,650Since 1.52386.0
33663100 
33673101**Chat retention period.** Delete chats, with their files, after this many days without activity. Unset: no deletion. Projects and memory stay.
3368 
3369[Self-hosted install](#self-hosted-column): Not supported. Chat runs only on the person's computer, so a session host holds no chats to delete.
33703102 
33713103> **More detail**
33723104>
from line 3122
33903122 
33913123**Cowork retention period.** Delete Cowork tasks, with their uploads and outputs, after this many days without activity. Unset: no deletion. Spaces and memory stay.
33923124 
3393[Self-hosted install](#self-hosted-column): Server side. The host keeps the Cowork sessions it runs, so it deletes those left idle longer than the admin allows.
3394 
33953125> **More detail**
33963126>
33973127> Applies only while the app runs in third-party mode. Deletion can start shortly after the app gets this configuration. Pinned sessions are not exempt. Opening an old chat or Cowork task without continuing it does not reliably keep it.
from line 3144
34143144 
34153145**Code retention period.** Delete Code sessions, conversation included, after this many days without activity. Unset: no deletion. Uncommitted work stays on disk.
34163146 
3417[Self-hosted install](#self-hosted-column): Server side. The host keeps the Code sessions it runs, so it deletes those left idle longer than the admin allows.
3418 
34193147> **More detail**
34203148>
34213149> Applies only while the app runs in third-party mode. Deletion can start shortly after the app gets this configuration. Pinned sessions are not exempt. Opening an old chat or Cowork task without continuing it does not reliably keep it.
from line 3166
34383166 
34393167**Suspend session deletion.** Suspend the chat, Cowork and Code retention periods (legal hold). Claude Code’s own transcript cleanup (cleanupPeriodDays) still runs.
34403168 
3441[Self-hosted install](#self-hosted-column): Server side. The host keeps the sessions, so it is the one that stops deleting them during a hold.
3442 
34433169> **More detail**
34443170>
34453171> Meant to be set per user or group.
from line 3185
34593185 
34603186**Max tokens per window.** Caps each user’s input and output tokens per window. Cached tokens do not count, so it does not cap your bill. Unset: no limit.
34613187 
3462[Self-hosted install](#self-hosted-column): Server side. The host makes the model calls, so it counts each person's tokens and stops them at the cap.
3463 
34643188> **More detail**
34653189>
34663190> Has no effect unless `inferenceTokenWindowHours` is also set. A user with two devices can have a separate count on each.
from line 3197
34733197 
34743198**Token cap window.** Length of each token cap window, in hours. The count resets to zero when a window ends.
34753199 
3476[Self-hosted install](#self-hosted-column): Server side. Sets the length of the window for the token cap, which the host counts.
3477 
34783200> **More detail**
34793201>
34803202> Used with `inferenceMaxTokensPerWindow`. Each user's window starts the first time they use the app after their previous window ends. So 24 hours does not mean midnight to midnight.
from line 3209
34873209 
34883210**Token limit warning.** Warn users once they have used this percent of their token limit. Unset: 75. At 100, the only warning comes at the limit.
34893211 
3490[Self-hosted install](#self-hosted-column): Not supported. A session host does not yet warn people before they reach their token limit.
3491 
34923212> **More detail**
34933213>
34943214> Has no effect unless `inferenceMaxTokensPerWindow` and `inferenceTokenWindowHours` are both set.
from line 3225
35053225 
35063226**End-user attribution.** Show the signed-in user’s identity in the app, add it to Claude’s system prompt, and send it to your OpenTelemetry collector as enduser.id.
35073227 
3508[Self-hosted install](#self-hosted-column): Server side. The host puts the person's identity on the telemetry it sends, and tells Desktop whether to show the person's name.
3509 
35103228> **More detail**
35113229>
35123230> The identity comes from the user's sign-in, or is the OS login name when sign-in gives none. A static `enduser.id` in `otlpResourceAttributes` takes priority in telemetry, and is sent even when this setting is off.
from line 3239
35213239 
35223240**Deployment display name.** Overrides the provider label shown in the sidebar footer, user-menu header, and connection-error banner.
35233241 
3524[Self-hosted install](#self-hosted-column): Server side. Desktop shows this name in place of the provider's name in its own window.
3525 
35263242[Admin Console](#the-works-with-column): Set automatically.
35273243 
35283244***
from line 3249
35333249 
35343250**Deployment display subtitle.** Optional detail shown after the deployment display name in the account-menu header.
35353251 
3536[Self-hosted install](#self-hosted-column): Server side. Desktop shows this detail after the deployment's name in its account menu.
3537 
35383252[Admin Console](#the-works-with-column): Not available.
35393253 
35403254***
from line 3259
35453259 
35463260**Hide configuration deprecation warnings.** Hide the in-app warning that your configuration uses a deprecated field. A final reminder still shows in the 24 hours before the cut-off.
35473261 
3548[Self-hosted install](#self-hosted-column): Server side. Desktop shows its warning about deprecated settings in its own window, for configuration that Desktop reads itself.
3549 
35503262***
35513263 
35523264### `banner`
from line 3267
35553267 
35563268**Organization banner.** A persistent banner across the top of the app window after sign-in.
35573269 
3558[Self-hosted install](#self-hosted-column): Server side. Desktop draws the admin's banner across the top of its own window.
3559 
35603270> **Child attributes (5)**
35613271>
35623272> **enabled** `boolean`
from line 3300
35903300Since 4.4212.0
35913301 
35923302**Status line.** Claude runs this program and shows the first line it prints above the message box in Cowork, Chat and Code. Off unless set.
3593 
3594[Self-hosted install](#self-hosted-column): Not supported. No session host reports it yet, so beside a host Desktop runs no status line program.
35953303 
35963304> **More detail**
35973305>
from line 3335
36273335 
36283336**Hide feature announcements.** Hide unprompted feature announcements: the “What’s new” nudge after an update and new-feature tips. Users can still open release notes.
36293337 
3630[Self-hosted install](#self-hosted-column): Server side. Desktop hides its own announcements of new features.
3631 
36323338***
36333339 
36343340## Plugins
from line 3344
36383344object\[]Since 1.17377.1
36393345 
36403346**Plugin marketplaces.** Git repositories or hosted marketplace.json files shown as plugin marketplaces in the Directory’s Organization tab.
3641 
3642[Self-hosted install](#self-hosted-column): Server side. The host fetches the admin's plugin marketplaces and loads their plugins into the sessions it runs.
36433347 
36443348> **Child attributes**
36453349>
from line 3485
37813485 
37823486**Organization plugin settings.** Locks tool permissions on the MCP servers that plugins provide.
37833487 
3784[Self-hosted install](#self-hosted-column): Server side. The host applies the admin's per-tool locks, and no plugin's MCP server is started on the computer.
3785 
37863488> **More detail**
37873489>
37883490> * If a `managedMcpServers` entry is for the same server (same URL, otherwise same name), the entry here is ignored. Put the locks in that entry's `toolPolicy`.
from line 3529
38273529 
38283530**Use bootstrap config.** Fetch and apply settings from the bootstrap config URL at launch. Turn off to keep the URL saved but skip the fetch.
38293531 
3830[Self-hosted install](#self-hosted-column): MDM profile. Controls whether the desktop app fetches its configuration, so it cannot travel inside that document.
3831 
38323532[Admin Console](#the-works-with-column): Not available.
38333533 
38343534***
from line 3543
38433543 
38443544**Bootstrap config URL.** HTTPS endpoint that returns a per-user JSON config overlay. Values from the response override local settings and become read-only.
38453545 
3846[Self-hosted install](#self-hosted-column): MDM profile. Tells the desktop app where to fetch its configuration, so it cannot travel inside that document.
3847 
38483546[Admin Console](#the-works-with-column): Not available.
38493547 
38503548***
from line 3559
38613559 
38623560[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md)
38633561 
3864[Self-hosted install](#self-hosted-column): MDM profile. Names the sign-in the desktop app uses to fetch its configuration, so it cannot travel inside it.
3865 
38663562[Admin Console](#the-works-with-column): Not available.
38673563 
38683564> **More detail**
from line 3621
39253621 
39263622[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md)
39273623 
3928[Self-hosted install](#self-hosted-column): MDM profile. Sets headers the desktop app sends to fetch its configuration, so it cannot travel inside that document.
3929 
39303624[Admin Console](#the-works-with-column): Not available.
39313625 
39323626> **More detail**
from line 3645
39513645 
39523646[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/bootstrap.md)
39533647 
3954[Self-hosted install](#self-hosted-column): MDM profile. Names a program on the person's computer that supplies headers for fetching the app's configuration.
3955 
39563648[Admin Console](#the-works-with-column): Not available.
39573649 
39583650> **More detail**
from line 3664
39723664Since 1.26832.0
39733665 
39743666**Trust bootstrap-delivered settings.** Skip the per-user consent prompt for sign-in settings, inference endpoints, helper scripts, and connectors the bootstrap server delivers.
3975 
3976[Self-hosted install](#self-hosted-column): MDM profile. Skips a consent prompt on the person's computer for what the configuration server sends.
39773667 
39783668[Admin Console](#the-works-with-column): Not available.
39793669 
from line 3688
39983688 
39993689Unless a label in its entry says otherwise, a key can be set in an MDM profile or the local configuration file, or returned from a bootstrap server. A badge marks another kind of deployment that the key also works with.
40003690 
4001* **Self-hosted**: Something acts on the key on a self-hosted install. Its [Self-hosted install](#self-hosted-column) line gives the reason, and reads Server side or MDM profile, as the badge does on hover. Without the badge, that line reads Not supported, or the entry has none.
40023691* **Admin Console**: The key takes effect where your organization manages Claude Desktop from the Enterprise Admin Console. [Read more](https://claude.com/docs/third-party/claude-desktop/admin-console.md).
40033692 
40043693 * **No hover text**: The hosted configuration can hold the key. Set it on the console's pages or, where no page has a field for it, by importing a configuration file or through the Admin API.
from line 3696
40073696 
40083697 The hosted configuration refuses some values of keys that it can hold, for example an API key or token in a request header, and the Claude API as the inference provider. On a device that also has an MDM profile, the app still reads a few keys from the profile, for example the network proxy keys, which the console can't set. The Enterprise Admin Console guide lists them.
40093698 
4010### Self-hosted install line
4011 
4012The self-hosted word matters only on a self-hosted install, where sessions run on a session host that your organization operates and not on the person's computer. The word says who acts on the key on such an install, and so where to set it; the text beside it gives the reason. On any other install, ignore it.
4013 
4014* **Server side** (`server`): in the document your session host reads; the host applies it itself.
4015* **Server side** (`reported`): in the same document; the host passes it on to Claude Desktop, which applies it in its own windows or on the person's computer.
4016* **MDM profile** (`client`): in Claude Desktop's own configuration on the computer (device management, the local file, or a bootstrap server that configuration names); the session host ignores it.
4017* **Not supported** (`none`): nothing acts on it on a self-hosted install, whichever of those places sets it.
4018 
4019One exception to the four words: where a device-management profile sets only app-behavior keys, that profile alone decides all of them (of the keys here: `disableAutoUpdates`, `installedUpdateEnforcementEnabled`, `installedUpdateEnforcementHours`, `autoUpdaterEnforcementHours`, `updateViaUpdatesHost`, `releaseChannel`, `relaunchEnforcementHours`, `configRecheckIntervalMinutes`, `egressProxyUrl`, `egressProxyPacUrl`).
4020 
4021The word is what this Claude Desktop release declares. A session host acts on a `server` or `reported` key only from the host version that reads it; until then nothing applies the key on a self-hosted install, and Claude Desktop does not fall back to a value set on the computer.
4022 
40233699## Guides
40243700 
4025* [Configuration implementation](https://claude.com/docs/third-party/claude-desktop/configuration-format.md): how configuration differs between a device's own configuration, the Enterprise Admin Console, and a self-hosted install, and how to write each value type.
3701* [Configuration implementation](https://claude.com/docs/third-party/claude-desktop/configuration-format.md): how configuration differs between a device's own configuration and the Enterprise Admin Console, and how to write each value type.
40263702* [Configuration changelog](https://claude.com/docs/third-party/claude-desktop/configuration-changelog.md): the desktop release each key first appeared in.
40273703* [Models and effort levels](https://claude.com/docs/third-party/claude-desktop/models.md): how the keys under **Models** work together.
40283704* [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md#how-unified-claude-interacts-with-chat-and-cowork-settings): how `desktopHome` overrides the other keys under **Chat surface** and **Cowork surface**.
40293705 

third-party/claude-desktop/configuration-format Changed · +8 / -41 lines

## Configuration on a self-hosted install ### What an MDM profile does on a self-hosted install ### When a change takes effect on a self-hosted install

from line 2
22 
33> Compare where Claude Desktop on 3P reads configuration in each kind of deployment, and write values for a profile, the registry, or the Linux file
44 
5You configure Claude Desktop on third-party (3P) with the keys in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) in every kind of deployment, but where you set them, how they reach the app, and how you write their values differ between a device's own configuration, the Enterprise Admin Console, and a self-hosted install.
5You configure Claude Desktop on third-party (3P) with the keys in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) in every kind of deployment, but where you set them, how they reach the app, and how you write their values differ between a device's own configuration and the Enterprise Admin Console.
66 
77> [!NOTE]
88>
from line 12
1212 
1313Each kind of deployment stores and delivers the configuration differently.
1414 
15| | [Configuration on the device](#configuration-on-the-device) | [Enterprise Admin Console](#configuration-from-the-enterprise-admin-console) | [Self-hosted install](#configuration-on-a-self-hosted-install) |
16| - | - | - | - |
17| Where the configuration lives | In an MDM profile or registry policy, in the local configuration file, or on a bootstrap server that the device points to | In your organization's settings on claude.ai, which Anthropic hosts | Keys labeled **Server side** live in the document your session host reads. Keys labeled **MDM profile** live in Claude Desktop's own configuration on the device |
18| How it reaches the app | The app reads it at launch, or fetches it from your bootstrap server. Users don't sign in to a Claude account | Each user signs in with their work account, and the app downloads the settings that apply to them | Sessions run on a session host your organization operates, which applies a **Server side** key itself or passes it on to Claude Desktop. Claude Desktop reads keys labeled **MDM profile** from the device, as on any device |
19| What an MDM profile does | Carries the full configuration, or the bootstrap keys | You don't need one. A profile on the device can still decide some settings, or keep the device off the console. See [What an MDM profile does alongside the Enterprise Admin Console](#what-an-mdm-profile-does-alongside-the-enterprise-admin-console) | Usually names the session host, and carries the keys labeled **MDM profile**. See [What an MDM profile does on a self-hosted install](#what-an-mdm-profile-does-on-a-self-hosted-install) |
20| How you write values | Strings in a macOS profile or the Windows registry. JSON in the Linux file or a bootstrap response | Fields on the console's pages, or JSON in an imported file or an Admin API request | As on any device, for keys labeled **MDM profile**. See [Value types in a profile or registry policy](#value-types-in-a-profile-or-registry-policy) |
21| Where to go next | [Deploy with MDM](https://claude.com/docs/third-party/claude-desktop/mdm.md), [Deploy with a bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) | [Deploy with Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) | [Keys that work on a self-hosted install](https://claude.com/docs/third-party/claude-desktop/configuration.md?works-with=self-hosted) |
15| | [Configuration on the device](#configuration-on-the-device) | [Enterprise Admin Console](#configuration-from-the-enterprise-admin-console) |
16| - | - | - |
17| Where the configuration lives | In an MDM profile or registry policy, in the local configuration file, or on a bootstrap server that the device points to | In your organization's settings on claude.ai, which Anthropic hosts |
18| How it reaches the app | The app reads it at launch, or fetches it from your bootstrap server. Users don't sign in to a Claude account | Each user signs in with their work account, and the app downloads the settings that apply to them |
19| What an MDM profile does | Carries the full configuration, or the bootstrap keys | You don't need one. A profile on the device can still decide some settings, or keep the device off the console. See [What an MDM profile does alongside the Enterprise Admin Console](#what-an-mdm-profile-does-alongside-the-enterprise-admin-console) |
20| How you write values | Strings in a macOS profile or the Windows registry. JSON in the Linux file or a bootstrap response | Fields on the console's pages, or JSON in an imported file or an Admin API request |
21| Where to go next | [Deploy with MDM](https://claude.com/docs/third-party/claude-desktop/mdm.md), [Deploy with a bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) | [Deploy with Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) |
2222 
2323## Configuration on the device
2424 
from line 122
122122* **Any other key**: the device uses the profile's configuration until its user moves the device to the console's configuration by signing in, which requires Claude Desktop 2.37337.0 or later. With `forceLoginOrgUUID` set to your organization's ID, the user can move the device only to your organization's configuration. After the move, the app still takes a few keys from the profile, for example the network proxy keys. Other settings come from the console, and the profile's values don't apply even where the console leaves a setting unset.
123123 
124124[Which settings apply on a device with a managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console.md#which-settings-apply-on-a-device-with-a-managed-profile) lists the keys that the app takes from the profile, and [Keep a device on its managed profile](https://claude.com/docs/third-party/claude-desktop/admin-console.md#keep-a-device-on-its-managed-profile) covers the keys that prevent or limit the move.
125 
126## Configuration on a self-hosted install
127 
128On a self-hosted install, sessions run on a session host that your organization operates and not on the person's device. Each key's label in the reference says which place in the following table counts for it.
129 
130| Place | Label of its keys in the reference | Who acts on the key |
131| - | - | - |
132| The document your session host reads | **Server side** | The session host. It applies the key itself, or passes it on to Claude Desktop, which applies it in its own windows or on the person's device. |
133| Claude Desktop's own configuration on the device: an MDM profile, the local file, or a bootstrap server that configuration names | **MDM profile** | Claude Desktop, by the same rules as [configuration on the device](#which-configuration-source-applies-on-a-device). The session host ignores the key. |
134| The session host's own configuration | **Not supported**, for the matching keys | Whoever runs the host sets the host's route to the model, and names your telemetry collector's address, protocol, and headers in the host's own configuration. |
135 
136An MDM profile that sets only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence) decides all of those keys itself, whatever their label. Outside that case, nothing acts on a key labeled **Not supported**, wherever you set it.
137 
138The label is what the current Claude Desktop release declares. On that release, a session host acts on a **Server side** key only from the host version that reads it. Until then, unless an MDM profile sets only app-behavior keys, nothing applies the key, and Claude Desktop doesn't fall back to a value set on the device. An earlier Claude Desktop release can still apply a value set on the device, so keep a restriction in the MDM profile as well until every device runs the current release.
139 
140Each key's entry in the reference gives its label and a one-line reason. The [published schemas](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#response-schema) carry the self-hosted word (`server`, `reported`, `client`, or `none`) and its reason in `x-selfHosted` for each key they list. The [legend for the self-hosted labels](https://claude.com/docs/third-party/claude-desktop/configuration.md#self-hosted-column) defines the labels and maps each word to its label.
141 
142### What an MDM profile does on a self-hosted install
143 
144The MDM profile usually names the session host, and carries the keys labeled **MDM profile**. Each of those keys is about the person's device, as its reason in the reference says. For example:
145 
146* **Sign-in to the session host**: on a self-hosted install [`inferenceCredentialKind`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencecredentialkind) names the device's sign-in to the host, never the host's model credential, and [`inferenceIdpOidc`](https://claude.com/docs/third-party/claude-desktop/configuration#inferenceidpoidc) configures the sign-in that the device reuses for the host.
147* **The device's network proxy**: [`egressProxyUrl`](https://claude.com/docs/third-party/claude-desktop/configuration#egressproxyurl) and [`egressProxyPacUrl`](https://claude.com/docs/third-party/claude-desktop/configuration#egressproxypacurl).
148* **Telemetry and updates**: [`disableEssentialTelemetry`](https://claude.com/docs/third-party/claude-desktop/configuration#disableessentialtelemetry) and [`disableAutoUpdates`](https://claude.com/docs/third-party/claude-desktop/configuration#disableautoupdates).
149 
150Write each value in the profile as [Value types in a profile or registry policy](#value-types-in-a-profile-or-registry-policy) describes.
151 
152### When a change takes effect on a self-hosted install
153 
154* **A key in the session host's document**: the host refreshes its own copy at least every [`configRecheckIntervalMinutes`](https://claude.com/docs/third-party/claude-desktop/configuration#configrecheckintervalminutes) (10 minutes by default) and tells Claude Desktop how often to ask it again.
155* **A key on the device**: as on any device. The re-check interval and the restart window are themselves **Server side** keys, so the session host's document sets them, unless an MDM profile sets only app-behavior keys. See [When a configuration change on a device takes effect](#when-a-configuration-change-on-a-device-takes-effect).
156 
157A value that the session host delivers for a field labeled **Consent required** applies after the user approves it. Where machine-scoped device management set the host's address, the value applies without a prompt. [`trustBootstrapDelivery`](https://claude.com/docs/third-party/claude-desktop/configuration#trustbootstrapdelivery) covers what a bootstrap server delivers, not what a session host delivers.
158125 

connectors/microsoft/365 Changed · +1 / -1 lines

from line 143
143143 
144144Selecting **Grant admin consent for \{your organization}** on the connector's **Permissions** page in the Entra admin center approves the same list as the admin consent link.
145145 
146The admin consent link is for the connector used from claude.ai. If the Application ID on the enterprise application's **Overview** page differs from the one in the link (for example in a government deployment), use that ID instead. The Claude Desktop local connector and a self-hosted server use their own app registrations.
146The admin consent link is for the connector used from claude.ai. If the Application ID on the enterprise application's **Overview** page differs from the one in the link (for example in a government deployment), use that ID instead. The Claude Desktop local connector uses its own app registration.
147147 
148148## Troubleshooting
149149 

third-party/claude-desktop/code Changed · +0 / -1 lines

from line 95
9595* **Cowork sessions** read the managed settings on the device, and never read [server-managed settings](https://code.claude.com/docs/en/server-managed-settings).
9696* **Local Code sessions** read the managed settings on the device too, unless server-managed settings or [a Claude apps gateway's `code` settings](https://code.claude.com/docs/en/claude-apps-gateway-config#apply-code-settings-in-the-code-tab) [take priority](https://code.claude.com/docs/en/managed-settings#how-claude-code-combines-managed-sources). They also read `autoMode` entries from the user's own `~/.claude/settings.json`, which Cowork sessions don't read.
9797* **For Code sessions on an SSH host**, see [Managed configuration on the remote host](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md#managed-configuration-on-the-remote-host).
98* **For a self-hosted install**, see [Configuration on a self-hosted install](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#configuration-on-a-self-hosted-install).
9998 
10099For example, on a device with no other Claude Code managed settings, deploy this file to describe an internal service and add one allow rule:
101100 

third-party/claude-desktop/gateway Changed · +1 / -1 lines

from line 597
597597 
598598To tell users where they stand before your gateway blocks them, show one line of text in one of these places:
599599 
600* **Across the top of the app window**: set the [`banner`](https://claude.com/docs/third-party/claude-desktop/configuration#banner) configuration key to show a one-line notice. If you serve configuration per user, for example from a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), each user's notice can show their own figure, such as "You have used 82% of your monthly budget." On a self-hosted install, set `banner` in [the document your session host reads](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#configuration-on-a-self-hosted-install).
600* **Across the top of the app window**: set the [`banner`](https://claude.com/docs/third-party/claude-desktop/configuration#banner) configuration key to show a one-line notice. If you serve configuration per user, for example from a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), each user's notice can show their own figure, such as "You have used 82% of your monthly budget."
601601* **Above the message box**: set up a [status line](https://claude.com/docs/third-party/claude-desktop/status-line.md). Claude Desktop runs a program that you install on the user's device and shows the line it prints.
602602 
603603Claude Desktop can also limit each user's tokens, separately from your gateway's budget, and warn users before they reach that limit. To set up the limit and check where it applies, see the [token limit keys](https://claude.com/docs/third-party/claude-desktop/configuration.md#inferencemaxtokensperwindow) in the configuration reference.

third-party/claude-desktop/status-line Changed · +1 / -1 lines

from line 17
1717 
1818## Turn on the status line
1919 
20The status line requires Claude Desktop 4.4212.0 or later and is off until you set the [`sessionStatusLine`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionstatusline) key. The status line isn't available on a [self-hosted install](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#configuration-on-a-self-hosted-install).
20The status line requires Claude Desktop 4.4212.0 or later and is off until you set the [`sessionStatusLine`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionstatusline) key.
2121 
2222**1. Install the program**
2323 
Feedback