Follow Discord
Sweep 03 Nov 2026 · 22:27Z Build v2.1.318 536 read Stable v2.1.311 Latest v2.1.318 Next v2.1.318 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · claude-docs

One read of Claude Documentationclaude-docs-20261103T183705Z

21 pages moved out of 281 read.

Pages moved 21 significant first
Pages read 281 in this capture
Captured 18:37 UTC
Corpus hash b547cd478adc corpus-hash

What this read moved

1-21 of 21

cowork/changelog Changed · +76 / -1 lines

from line 2
22 
33> Release notes for Claude Desktop
44 
5**v4.16336.0**
6 
72026-11-03
8 
9Bundled Claude Code version: 2.1.317.
10 
11**General**
12 
13* Changed sessions to ignore cross-certificates between old and renewed private root CAs in the certificate store. If a proxy's or gateway's issuing CA names one by serial number (Authority Key Identifier), requests can fail with `UNABLE_TO_GET_ISSUER_CERT_LOCALLY`. Add that issuing CA to the store.
14* Deprecated fast mode for Claude Opus 4.8 as of October 30, 2026; it will be removed on November 30, 2026, after which fast mode requests on Opus 4.8 return an error and do not fall back to standard Opus 4.8.
15* Removed claude.ai from the sites the built-in browser can import cookies for from another browser. If you imported claude.ai before, you are signed out of it in the built-in browser at the next launch.
16* Removed the tools that let Claude list and start shortcuts saved in the Claude in Chrome extension.
17* Fixed Claude on Windows staying open with no window after Windows declines an update.
18* Fixed dictated words being lost: Quick Entry dictation on Mac could close without adding what you said, and words still arriving in one message box could be discarded when a message was sent from another box on the same page.
19* Fixed files chosen in the message box being added after the signed-in account changed.
20* Fixed scheduled tasks failing silently: Claude now notifies you when a run couldn't use a connector that needs reconnecting, and when a run can't start.
21* Fixed the app coming back hidden or behind other apps, or the Dock icon on macOS showing no window, when the app was opened again (from its Dock icon, a link, a file, or a tray or menu bar item) while it was restarting to install an update or restarting on its own.
22* Fixed the Windows installer closing Claude and then failing on computers where an organization's policy blocks apps from outside the Microsoft Store, and leaving Claude closed when an installation fails after it has closed the running app.
23 
24**Code**
25 
26* Changed worktree sessions: Claude Desktop no longer runs git's `post-checkout` hook when it makes a worktree; Claude Code's own worktrees run none either. `pre-commit` and other hooks still run for commits there. To copy ignored files like `.env` into new worktrees, list them in `.worktreeinclude`.
27* Removed the Windows fallback that read Claude Code's `managed-settings.json` from `C:\ProgramData\ClaudeCode`. Keep the file in `C:\Program Files\ClaudeCode`, the only folder that Claude Code itself reads.
28* Fixed "Trust new key" failing for SSH hosts on Windows virtual desktops that use FSLogix or similar profile containers.
29* Fixed `desktopSessionCleanupPeriodDays` (in Claude Code's settings) not deleting old transcripts of sessions still in the sidebar. Claude Code's cleanup now deletes them at the age its settings give, and they can't be restored.
30* Fixed a missing warning in SSH sessions when a sandbox that an organization's managed settings turn on can't start on the remote machine.
31* Fixed messages to SSH sessions being lost or stuck with no notice when the connection dropped or Claude Code couldn't start on the host, after the host was rebuilt, or after signing in on the New session page when the first try couldn't connect; they now send, retry, or return to the message box.
32* Fixed project and local MCP servers disconnecting after the first turn in some sessions.
33* Fixed SSH reconnects on Windows setting off a jump host's phone push at every retry with nobody at the computer.
34* Fixed SSH sessions left running overnight stopping with a sign-in error, after Remote Control was denied for the account or after an unrelated crash whose message mentioned "401" or "unauthorized".
35* Fixed the previous account's sessions showing in the list after an account change that keeps the page open.
36 
37**Cowork**
38 
39* Changed HTML and SVG file previews: alert, confirm and print dialogs are removed, including from buttons you click in the page; a page can start a download only shortly after you click in it; and a hung preview no longer stays on screen under the next file's name or keeps running after it closes.
40* Changed Reset App Data to also delete the signed-in account's Cowork tasks from Anthropic servers before it resets, where its confirmation dialog says so. Help > Troubleshooting > Delete Cowork VM Sessions and Restart is now named Delete Cowork Data and Restart.
41* Fixed a case where resetting memory could clear another signed-in account's local Cowork memories if the account changed during the reset.
42* Fixed buttons such as Deny being cut off or out of view on the web fetch, scheduled task, computer use and workflow permission cards in a small or zoomed window.
43* Fixed files added while creating a project from an existing folder emptying or replacing a file already in that folder.
44* Fixed some links in Claude's replies to files on a Windows computer not opening.
45* Fixed the app reinstalling the Cowork workspace (and, on a stop, quitting and relaunching) when the workspace was stopped or Claude was quit while it was still starting, for example by signing out or choosing Help > Troubleshooting > Delete Cowork Data and Restart.
46* Fixed the notice shown when a network blocks, interrupts, or alters the download of Claude's workspace, which advised a restart or a reinstall and could not be closed. It now offers Retry, says what to ask an IT administrator to allow, and can be closed where tasks go on without the workspace.
47* Fixed workspace notices such as "Additional setup needed" covering a permission request or the message box in a short or zoomed-in window, which hid the request and could make Deny and Allow once unclickable.
48 
49**3P**
50 
51* Added `deploymentMode` (not read from a bootstrap server): the app runs only on your third-party setup (`3p`), only signed in to Claude.ai (`1p`), or as each person chooses (`any`). Older versions read only `disableDeploymentModeChooser`, which Setup no longer offers: for `3p`, set it to `true` too.
52* Added `inferenceGatewayAutoModeServerChecks`, a temporary setting, off unless you turn it on, that has the provider behind your gateway check risky Auto mode actions by sending it session details such as folder paths and a user name.
53* Added `platformOverrides` to `sessionStatusLine`, to run a different status line program on Windows, macOS or Linux. An older version rejects the whole setting when this is present and shows no status line, so add it only after all devices are updated.
54* Added a warning to the app's log and diagnostic report when a Claude Console sign-in's organization is missing from a device profile's `forceLoginOrgUUID` list. A coming release will allow only listed organizations, so add your Console organization's ID to the list now.
55* Added the Monitor tool to Code sessions where Bash is available: each new batch of a watched command's output starts a turn, with nobody typing. Turn it off with `Monitor` in `disabledBuiltinTools`.
56* (breaking) Changed an unset `desktopHome` to read as `standard` at launches after 12:00 PM PT on November 10, 2026, even where `chatSessionRetentionDays` is set. New conversations that are Cowork tasks are deleted by `coworkSessionRetentionDays`, not `chatSessionRetentionDays`, so set both.
57* (breaking) Changed SSH on Windows to reach hosts new to the device (every host, on PCs that keep no app data) through Microsoft OpenSSH 9.4 or newer, not the built-in library. To stay on the library, set `sshTransport` to `builtin` everywhere you manage settings. Mac and Linux then use it too.
58* Changed `inferenceModelPricingEnabled`: when on, each session's estimated cost now shows above the message box in Cowork, Chat and Code, not only on the Usage page. Where `sessionStatusLine` is set, its program's line shows there instead.
59* Changed a `PreToolUse` or `PermissionRequest` hook whose command is only a quoted path or string, with no `shell`, `args` or `"onFailure": "continue"`, to block calls on PCs without Git for Windows. Install Git and reopen Claude, or for an `.exe` unquote it, add `"args": []`, `"onFailure": "block"`.
60* Changed a setting left past its deprecation date, such as `organizationPluginsUrl`, to be ignored, not an error. A device profile holding only such settings no longer locks local settings or sets aside the Admin Console's configuration, whose retention periods then delete idle sessions for good.
61* Changed Code sessions on Linux hosts where AppArmor stops the sandbox, such as Ubuntu 24.04 over SSH: shell commands that failed now run unsandboxed, so `coworkEgressAllowedHosts` and `allowedWorkspaceFolders` don't limit them. An AppArmor profile for bubblewrap on the host restores it.
62* Changed how `autoMode` lists in Claude Code's `managed-settings.json` apply in local Code sessions and Cowork tasks: an `allow` list without `"$defaults"` replaces the built-in exceptions, and a `soft_deny` or `environment` list without it adds to the built-in rules. Auto mode may ask or block more.
63* Changed recurring scheduled tasks to retry for up to about three and a half hours, up from about one, when the inference provider can't be reached. Claude notifies you of the first failure and the final outcome, and when tasks are waiting for you to sign in again.
64* Changed SSH from Windows over OpenSSH: each connection signs in at least twice and keeps the sign-ins open, so a per-user login limit must leave room and a one-time code or push is asked at each. The sign-in dialog offers Remember password, and the SSH sessions docs page says how to turn it off.
65* Changed the Code tab on devices whose only configuration is a local file, even one copied by a script: with `coworkEgressAllowedHosts` unset and `blockReadsOutsideWorkingDirectories` off, shell commands can reach the network. An empty list still blocks them where Claude Code's sandbox runs.
66* Changed which program opens SSH connections from Windows over OpenSSH, now the default: `ssh.exe`, not `Claude.exe`. Where a firewall or endpoint rule allows SSH by program, allow `ssh.exe` too. If it starts but can't reach the network, the connection fails and the built-in library does not step in.
67* Deprecated `coworkTabEnabled`, `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled`: `desktopHome` replaces them. Remove them before 12:00 PM PT on December 17, 2026. Users see a warning from November 17 while one is still set.
68* Deprecated `sessionRetentionHold` (Suspend session deletion): ignored from 12:00 PM PT on December 17, 2026, when retention periods permanently delete idle sessions it kept. To keep them, first set all three periods to 3650 days where they are set. Once devices have the new periods, remove the key.
69* Removed the Chat and Cowork switch from a project's page under Unified Claude. A message sent there now starts a Cowork task, or a chat on a computer that can't run Cowork.
70* Removed the Send to Anthropic button from the diagnostic report. To share a report, export it to a file from Help > Troubleshooting > Generate Diagnostic Report.
71* Updated the app to the new Claude look: new colors, icons and type. In Cowork and Chat, Claude's steps and progress notes now sit behind one status row, which opens with a click.
72* Fixed a "Get set up for agent mode" download prompt appearing in chats and tasks.
73* Fixed cases where remote connectors asked people to sign in again: after a brief server or network error while their sign-in renewed in the background, after their organization plugin's folder was briefly missing, or when they signed in just as the connector reconnected by itself.
74* Fixed certificate settings such as `NODE_EXTRA_CA_CERTS` in the `env` of Claude Code's `managed-settings.json` not taking effect in some sessions, such as Chat and Cowork. Settings already in that file now take effect, so review them before rolling out.
75* Fixed Claude Desktop opening on Code, or showing "Code has been disabled by your organization’s administrator.", at launch when the Admin Console or a configuration server turns Chat on and Cowork off.
76* Fixed local and WSL Code sessions that stopped when the app quit or restarted for an update. When you return to one within a day, the app sends one automatic message, shown as yours, asking Claude to continue. That turn uses tokens on your organization's provider.
77* Fixed skills that could not be renamed or edited on some Windows virtual desktops with redirected user profiles.
78* Fixed the app window and the Setup window growing larger than the screen on small displays or with Windows Text size or Display scale set high, which left the window buttons, the message box and Apply Changes out of reach.
79 
580**v4.4212.0**
681 
7822026-10-29
from line 366
291366* Changed the restart when a device-management profile that sets more than the app-behavior keys first applies while the app runs on a user's own saved configuration: the dialog appears right away, not after `relaunchEnforcementHours`.
292367* Fixed "Or sign in with Claude.ai" leaving "Couldn't connect to Claude" at every launch where claude.ai is blocked: a launch with nobody signed in to Claude.ai now returns to the organization's sign-in page. On managed devices the error screen also has a "Sign in with your organization" button.
293368* Fixed Claude in Cowork being told to save its work in a connected folder under an `allowedWorkspaceFolders` entry whose `mode` is `ro`. Claude is now told which folders are read-only and to save new files and edited copies in a writable connected folder or, if there is none, the outputs folder.
294* Fixed importing the same folder or exported zip again from Settings > Import & export creating a second copy of every session. Repeating an import made with an earlier version still copies its sessions once more, and a folder on a network share or mapped drive is copied each time.
369* Fixed importing the same folder or exported zip again from Settings > Import & export creating a second copy of every session. Repeating an import made with an earlier version still copies its sessions once more.
295370* Fixed the environment variables editor failing to open or save, plugin command permissions being forgotten at every restart, and adding a project's folders again not restoring Chat's access to them, after the app's data folder was moved to another computer or the system keychain was reset.
296371 
297372**v2.42304.2**

third-party/claude-desktop/admin-console Changed · +5 / -5 lines

from line 331
331331 
332332> [!WARNING]
333333>
334> The person at the device can [remove the block](#unblock-other-accounts-in-claude-desktop), so the switch doesn't enforce sign-in. To enforce sign-in to your organization, deploy [`forceLoginOrgUUID`](#keep-a-device-on-its-managed-profile) through device management. On a device that has the key, the key's value applies instead of the switch and the **Allowed organizations** list.
334> The person at the device can [remove the block](#unblock-other-accounts-in-claude-desktop), so the switch doesn't enforce sign-in. To enforce sign-in to your organization, deploy [`forceLoginOrgUUID`](#keep-a-device-on-its-managed-profile) through device management. On a device that has the key, the key's value applies instead of the switch and the **Allowed organizations** list. On a device whose managed profile [restricts the deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode), the switch and the list don't apply, so set `forceLoginOrgUUID` in that profile.
335335 
336336Check what the block covers:
337337 
from line 463
463463 
464464* The [network proxy keys](https://claude.com/docs/third-party/claude-desktop/network-proxy.md#pin-a-proxy-from-managed-configuration).
465465* [`isLocalDevMcpEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#islocaldevmcpenabled) set to `false`, for local (stdio) servers in the console's managed MCP servers only. The app starts such a server only if the profile's own [`managedMcpServers`](https://claude.com/docs/third-party/claude-desktop/configuration#managedmcpservers) lists a local (stdio) server of the same name, and it uses the profile's command, arguments, and environment. The profile's value doesn't block local MCP servers that users add. To keep blocking them, turn off **Allow local MCP servers** on the console's **Connectors** page.
466* `disableDeploymentModeChooser` and `forceLoginOrgUUID`, as described under [Keep a device on its managed profile](#keep-a-device-on-its-managed-profile).
466* The keys described under [Keep a device on its managed profile](#keep-a-device-on-its-managed-profile).
467467 
468468Other settings come from the console, including the inference provider, restrictions, telemetry, and the update, relaunch window, and re-check keys. The profile's values, and its bootstrap server's, don't apply even where the console leaves a setting unset. Before the app downloads the console's configuration at a launch, it applies [what it kept of the last download](#configuration-kept-on-devices), not the profile's values. That copy doesn't hold [`disableAutoUpdates`](https://claude.com/docs/third-party/claude-desktop/configuration#disableautoupdates), so until a download succeeds, neither the console's nor the profile's value blocks updates.
469469 
from line 473
473473 
474474On Claude Desktop 2.37337.0 or later, a user who belongs to any organization that uses the admin console can move a device to that organization's configuration by signing in. The organization doesn't have to be yours. To prevent the move, or to allow it only for your organization, set one of these keys in the device's [managed profile](#devices-with-a-managed-profile):
475475 
476* **Prevent the move:** set [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) to `true`. The app ignores the admin console, and the sign-in screen doesn't offer **Or sign in with Claude.ai**. A device that already moved returns to the profile at its next launch. Set the key in the profile itself, not only in your bootstrap server's response.
476* **Prevent the move:** set `deploymentMode` to `3p` in a profile that says what the app connects to, or to `1p` in a profile that leaves the device on standard Claude Desktop. The app ignores the admin console, and a device that already moved leaves the console's configuration at its next launch. Devices on versions before 4.16336.0 also need `disableDeploymentModeChooser`, as described under [Restrict a device to one deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode).
477477* **Allow only your organization:** set [`forceLoginOrgUUID`](https://claude.com/docs/cowork/hipaa-setup#what-each-claude-desktop-key-does) to your Claude organization's ID. This ID isn't [`deploymentOrganizationUuid`](https://claude.com/docs/third-party/claude-desktop/configuration#deploymentorganizationuuid), which is a UUID you generate. Devices already on your organization's admin console configuration stay on it. The app ignores the admin console configuration of any other organization and limits standard Claude Desktop sign-in on the device to your organization.
478478 
479479You can use `forceLoginOrgUUID` to help prevent shadow IT, which here means people using personal Claude accounts or other organizations' accounts in Claude Desktop on work computers. A user who signs in to standard Claude Desktop with an account that isn't in your organization sees a page that reads "This account is not approved by your enterprise admin" and can only log out.
from line 491
491491 
492492> [!WARNING]
493493>
494> On a device that uses the admin console, adding either key to a profile that sets only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence) changes which settings apply. See [Which settings apply on a device with a managed profile](#which-settings-apply-on-a-device-with-a-managed-profile). With `disableDeploymentModeChooser` set to `true`, the profile becomes the device's whole configuration, and the device stops using the admin console. To require members who also belong to another organization to switch to yours, leave such a profile as it is and turn on [**Require this organization in Claude Desktop**](#users-in-more-than-one-claude-organization).
494> On a device that uses the admin console, adding one of these keys to a profile that sets only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence) changes which settings apply. See [Which settings apply on a device with a managed profile](#which-settings-apply-on-a-device-with-a-managed-profile). With `deploymentMode` set to `3p` or `1p`, or `disableDeploymentModeChooser` set to `true`, the profile becomes the device's whole configuration, and the device stops using the admin console. To require members who also belong to another organization to switch to yours, leave such a profile as it is and turn on [**Require this organization in Claude Desktop**](#users-in-more-than-one-claude-organization).
495495 
496496## Remove users or return to MDM
497497 
from line 509
509509 
510510> [!WARNING]
511511>
512> Keep `disableDeploymentModeChooser` (or, for standard Claude Desktop, `forceLoginOrgUUID`) in the profile. On Claude Desktop 2.37337.0 or later, without the key the device goes back to the admin console's configuration at its next launch, without asking the user. If the user's sign-in to your organization has expired or you removed the user, the app shows your organization's sign-in screen or a **Restart required** prompt instead.
512> Keep a key that [restricts the deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode) (or, for standard Claude Desktop, `forceLoginOrgUUID`) in the profile. On Claude Desktop 2.37337.0 or later, without the key the device goes back to the admin console's configuration at its next launch, without asking the user. If the user's sign-in to your organization has expired or you removed the user, the app shows your organization's sign-in screen or a **Restart required** prompt instead.
513513>
514514> A device that left the admin console's configuration on an earlier release goes back too, so add `disableDeploymentModeChooser` to the profile before devices update. A key that you add later takes effect at the device's next launch.
515515 

third-party/claude-desktop/bedrock Changed · +8 / -8 lines

from line 199
199199 
200200string
201201 
202Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
202Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
203203 
204204Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
205205 
from line 231
231231 
232232string
233233 
234Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
234Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
235235 
236236Since 1.6259.0
237237 
from line 243
243243 
244244string
245245 
246Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
246Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
247247 
248248Since 1.6259.0
249249 
from line 255
255255 
256256string
257257 
258Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
258Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
259259 
260260Since 1.6259.0
261261 
from line 267
267267 
268268string
269269 
270Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
270Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
271271 
272272Since 1.6259.0
273273 
from line 279
279279 
280280string
281281 
282Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
282Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
283283 
284284Since 1.2581.0
285285 
from line 291
291291 
292292string
293293 
294Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
294Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
295295 
296296Since 1.2581.0
297297 
from line 303
303303 
304304string
305305 
306Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
306Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
307307 
308308Since 1.13576.0
309309 

third-party/claude-desktop/bootstrap Changed · +6 / -4 lines

from line 21
2121 
2222Either way, the bootstrap server supplies everything else after the user signs in. See [Installation and setup](https://claude.com/docs/third-party/claude-desktop/installation.md) for the surrounding workflow.
2323 
24On a device whose MDM profile carries the bootstrap keys, a user who signs in to any organization that uses the [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) can move the device to that organization's configuration. The app then stops contacting your server. To prevent that, set [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) to `true` in the profile itself, not only in your server's response, as described under [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).
24On a device whose MDM profile carries the bootstrap keys, a user who signs in to any organization that uses the [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) can move the device to that organization's configuration. The app then stops contacting your server. To prevent that, restrict the device to Claude Desktop on 3P in the profile itself, as described under [Restrict a device to one deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode).
2525 
2626## How it works
2727 
from line 335
335335>
336336> Organization plugins and skills can be delivered over the network by returning `allowedPluginMarketplaces` in the bootstrap response (see [Plugin marketplaces](https://claude.com/docs/third-party/claude-desktop/extensions.md#plugin-marketplaces-admin)), or through the filesystem `org-plugins/` directory described in [Connectors and extensions](https://claude.com/docs/third-party/claude-desktop/extensions.md).
337337 
338A small set of keys are **structurally excluded** and ignored if returned:
338A small set of keys, labeled **MDM only** in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md), are **structurally excluded** and ignored if returned:
339339 
340340* `bootstrapUrl`, `bootstrapOidc`, `bootstrapHeaders`, `bootstrapHeadersHelper`, `bootstrapEnabled`, and `trustBootstrapDelivery`: the trust anchor cannot redirect itself, authenticate itself, or grant trust in itself.
341* `egressProxyUrl` and `egressProxyPacUrl`: the app may need the [network proxy](https://claude.com/docs/third-party/claude-desktop/network-proxy.md#pin-a-proxy-from-managed-configuration) to reach your endpoint in the first place, so these keys are read from device management or the local configuration file only. These two and the six keys above are the keys labeled **MDM only** in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md).
342* Loopback hosts (`127.0.0.1`, `localhost`, `[::1]`) in any URL-valued key, regardless of scheme.
341* `egressProxyUrl` and `egressProxyPacUrl`: the app may need the [network proxy](https://claude.com/docs/third-party/claude-desktop/network-proxy.md#pin-a-proxy-from-managed-configuration) to reach your endpoint in the first place, so these keys are read from device management or the local configuration file only.
342* [`deploymentMode`](https://claude.com/docs/third-party/claude-desktop/mdm#restrict-a-device-to-one-deployment-mode): the app reads it from the device only.
343 
344The app also ignores loopback hosts (`127.0.0.1`, `localhost`, `[::1]`) in any URL-valued key of a response, regardless of scheme.
343345 
344346`managedMcpServers` entries are not restricted by transport in version 1.19367.0 and later: remote (`http`/`sse`) servers, local `stdio` commands, and the built-in `microsoft365` and `websearch` connectors can all be delivered in the bootstrap response. Earlier versions accept only remote entries and drop the rest. Because a `stdio` entry names a command that runs on the device, a bootstrap response can start local processes — part of why the warning at the top of this page says to treat this endpoint as fully trusted. Entries whose server URL or OAuth authorization-server URL is loopback or non-HTTPS are still dropped, and the desktop log (see [Troubleshooting](#troubleshooting)) records which keys were dropped and why.
345347 

third-party/claude-desktop/code Changed · +3 / -3 lines

from line 18
1818| - | - |
1919| `inferenceProvider` and all provider credential keys (`inferenceGateway*`, `inferenceAnthropicApiKey`, `inferenceVertex*`, `inferenceBedrock*`, `inferenceFoundry*`, `inferenceCredentialHelper*`) | Selects the inference backend and supplies credentials. Code sessions use the same provider, endpoint, and credentials as Cowork sessions. |
2020| `inferenceModels` | Populates the model picker. The first entry is the default for new Code sessions. |
21| `autoModeEnabled` | Controls **Auto mode**. When the key isn't set, Code sessions offer **Auto mode** and new sessions start in it unless the user has already chosen another mode or a Claude Code `permissions.defaultMode` applies. Set it to `false` to remove **Auto mode** from Code and Cowork. Set it to `true` to also offer the mode in Cowork, where it appears as **Automatically approve**. In Code sessions, a separately deployed Claude Code [managed-settings file](#interaction-with-claude-code%E2%80%99s-own-managed-settings) that sets `disableAutoMode` to `"disable"` also keeps **Auto mode** hidden, whatever this key is set to. To change what **Auto mode** allows and blocks, see [Tune the Auto mode classifier](#tune-the-auto-mode-classifier). |
21| `autoModeEnabled` | Controls **Auto mode**. When the key isn't set, Code sessions offer **Auto mode** and new sessions start in it unless the user has already chosen another mode or a Claude Code `permissions.defaultMode` applies. Set it to `false` to remove **Auto mode** from Code and Cowork. Set it to `true` to also offer the mode in Cowork, where it appears as **Automatically approve**. In Code sessions, a separately deployed Claude Code [managed-settings file](#interaction-with-claude-code%E2%80%99s-own-managed-settings) that sets `disableAutoMode` to `"disable"` also keeps **Auto mode** hidden, whatever this key is set to. To change what **Auto mode** allows and blocks, see [Tune the Auto mode classifier](#tune-the-auto-mode-classifier). To have the model provider review actions on a gateway deployment, see [Auto mode checks](https://claude.com/docs/third-party/claude-desktop/gateway.md#auto-mode-checks). |
2222| `scheduledTasksEnabled` | When `false`, the routines list in Code is hidden and Code sessions start without Claude Code's in-session scheduling tools, so the `/loop` command cannot schedule recurring work. Cowork's scheduled tasks are turned off by the same key. |
2323| `disabledBuiltinTools` | Removes the listed tools from Code sessions. A `Read(…)` rule applies to Claude's file tools, and [only in part to shell commands](#file-path-rules-and-shell-commands). Tools your provider does not support, such as WebSearch on Amazon Bedrock, are removed automatically in addition to your list. |
2424| `builtinToolPolicy` | Tools set to `"ask"` require approval on each call in Code sessions, enforced via a PreToolUse hook and Claude Code `permissions.ask` rules. Argument-scoped rules such as `Bash(curl *)` are [applied as managed policy](#applied-as-managed-policy) instead. |
from line 115
115115```
116116 
117117* **Start each list with `"$defaults"`** to keep the built-in rules. Without it, a list can [replace its built-in rules](https://code.claude.com/docs/en/auto-mode-config#override-the-block-and-allow-rules), the block lists included.
118* **Don't rely on leaving `"$defaults"` out to remove built-in rules.** In local Code sessions, Claude Code combines your lists with Claude Desktop's own `environment`, `allow`, and `soft_deny` lists, which start with `"$defaults"`. A `hard_deny` list without it can replace the built-in `hard_deny` rules.
118* **Don't rely on leaving `"$defaults"` out to remove built-in rules.** In Cowork sessions and local Code sessions, Claude Code combines your lists with the `environment`, `allow`, and `soft_deny` lists that Claude Desktop sends, which start with `"$defaults"`. If your `allow` list has entries but not `"$defaults"`, Claude Desktop's list doesn't restore the built-in `allow` rules, and Claude Desktop's own `allow` entries still apply. A `hard_deny` list without `"$defaults"` can replace the built-in `hard_deny` rules.
119119* **Keep `parentSettingsBehavior`.** Without it, Claude Code ignores the [managed policy](#applied-as-managed-policy) values that Claude Desktop supplies to Cowork and Code sessions, except [in a Code session that gets `code` settings from a Claude apps gateway](#interaction-with-claude-code%E2%80%99s-own-managed-settings). For example, without it, Claude doesn't ask for approval in Cowork's **Automatically approve** before calling a connector tool whose [`toolPolicy`](https://claude.com/docs/third-party/claude-desktop/configuration#tool-permissions-for-managed-mcp-servers) is `"ask"`, and the classifier reviews the call.
120120* **Deploy to [Claude Code's policy locations](https://code.claude.com/docs/en/managed-settings#where-each-mechanism-stores-the-policy)**, not to [Claude Desktop's configuration locations](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#where-claude-desktop-reads-configuration-on-a-device). In a macOS configuration profile for Claude Code, use the same keys as in `managed-settings.json`, with nested settings as dictionaries and lists as arrays. In a Windows registry policy, put the file's JSON in the `Settings` value under `HKLM\SOFTWARE\Policies\ClaudeCode`.
121121* **If the device already has a Claude Code managed-settings file, profile, or `HKLM` registry policy, add the `autoMode` block to it.** By default, Claude Code [reads most keys from one managed source](https://code.claude.com/docs/en/managed-settings#how-claude-code-combines-managed-sources), so a second source is either ignored or hides the first.
122122 
123On a device that has the Claude Code CLI, run `claude auto-mode config` in a terminal to check that the CLI reads your entries. It lists your entries among the built-in rules, and any from the user's `~/.claude/settings.json`. It doesn't list the entries that Claude Desktop adds to local Code sessions.
123On a device that has the Claude Code CLI, run `claude auto-mode config` in a terminal to check that the CLI reads your entries. It lists your entries among the built-in rules, and any from the user's `~/.claude/settings.json`. It doesn't list the entries that Claude Desktop adds to Cowork sessions and local Code sessions.
124124 
125125### Run vetted connector tools without classifier review
126126 

third-party/claude-desktop/configuration Changed · +178 / -82 lines

#### `inferenceGatewayAutoModeServerChecks` #### `deploymentMode` #### `sessionRetentionHold`

from line 26
2626| [`inferenceIdpAuthFlow`](#inferenceidpauthflow) | Identity provider sign-in flow | Connection | Admin Console |
2727| [`inferenceIdpOidc`](#inferenceidpoidc) | Identity provider (OIDC) | Connection | Admin Console |
2828| [`inferenceStreamIdleTimeoutSec`](#inferencestreamidletimeoutsec) | Stream idle timeout | Connection | Admin Console |
29| [`inferenceGatewayAutoModeServerChecks`](#inferencegatewayautomodeserverchecks) | Server-side Auto mode checks | Connection | Admin Console |
2930| [`inferenceAnthropicApiKey`](#inferenceanthropicapikey) | Claude API key | Connection | |
3031| [`inferenceBedrockRegion`](#inferencebedrockregion) | AWS region | Connection | Admin Console |
3132| [`inferenceBedrockBaseUrl`](#inferencebedrockbaseurl) | Bedrock base URL | Connection | Admin Console |
from line 99
9899| [`organizationInstructions`](#organizationinstructions) | Organization instructions | Capabilities | Admin Console |
99100| [`requireCoworkFullVmSandbox`](#requirecoworkfullvmsandbox) | Require full VM sandbox | Capabilities | |
100101| [`disableDeploymentModeChooser`](#disabledeploymentmodechooser) | Disable Claude.ai sign-in | Capabilities | |
102| [`deploymentMode`](#deploymentmode) | Deployment mode | Capabilities | |
101103| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Disable claude:// deep-link handling | Capabilities | Admin Console |
102104| [`builtinBrowserEnabled`](#builtinbrowserenabled) | Allow the built-in browser | Capabilities | Admin Console |
103105| [`builtinBrowserDefaultDomainPolicy`](#builtinbrowserdefaultdomainpolicy) | Default site policy in the built-in browser | Capabilities | Admin Console |
from line 143
141143| [`chatSessionRetentionDays`](#chatsessionretentiondays) | Chat retention period | Limits | Admin Console |
142144| [`coworkSessionRetentionDays`](#coworksessionretentiondays) | Cowork retention period | Limits | Admin Console |
143145| [`codeSessionRetentionDays`](#codesessionretentiondays) | Code retention period | Limits | Admin Console |
144| [`sessionRetentionHold`](#sessionretentionhold) | Suspend session deletion | Limits | Admin Console |
145146| [`inferenceMaxTokensPerWindow`](#inferencemaxtokensperwindow) | Max tokens per window | Limits | Admin Console |
146147| [`inferenceTokenWindowHours`](#inferencetokenwindowhours) | Token cap window | Limits | Admin Console |
147148| [`inferenceTokenWarningPercent`](#inferencetokenwarningpercent) | Token limit warning | Limits | Admin Console |
from line 230
229230 
230231string
231232 
232Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
233Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
233234 
234235Since 1.2581.0
235236 
from line 251
250251 
251252string
252253 
253Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
254Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
254255 
255256Since 2.2553.0
256257 
from line 263
262263 
263264string\[]
264265 
265Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
266Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
266267 
267268Since 2.110.0
268269 
from line 281
280281 
281282integerDefault: 3600
282283 
283Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
284Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
284285 
285286Range: 1 or moreSince 1.2581.0
286287 
from line 293
292293 
293294integerDefault: 60
294295 
295Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
296Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
296297 
297298Range: 1–600Since 1.8089.0
298299 
from line 305
304305 
305306booleanDefault: true
306307 
307Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
308Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
308309 
309310Since 1.10628.0
310311 
from line 385
384385 
385386string
386387 
387Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
388Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
388389 
389390Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
390391 
from line 448
447448 
448449object
449450 
450Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
451Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
451452 
452453Since 1.6889.0
453454 
from line 567
566567 
567568object
568569 
569Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
570Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
570571 
571572Since 2.7032.0
572573 
from line 671
670671 
671672***
672673 
674#### `inferenceGatewayAutoModeServerChecks`
675 
676booleanSince 4.16336.0
677 
678**Server-side Auto mode checks.** Temporary setting: sends session details, such as folder paths and a user name, so your gateway’s provider checks risky Auto mode actions.
679 
680[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/gateway.md#auto-mode-checks)
681 
682> [accordion] More detail
683>
684> Off unless you set it to `true`. While off, Auto mode's built-in safety check reviews risky actions.
685>
686> This setting is temporary. It goes away when Claude Code drops that built-in check. After that, only turning off **Allow Auto mode** avoids the provider's check.
687>
688> When on, each Auto mode request carries one more `anthropic-beta` value and a `safeguards` field. The field describes the session, including Claude Code's `autoMode` settings, permission rules, folder paths, a user name and Git state. Your gateway must forward both unchanged, and return `safeguard_results` and tool-use IDs unchanged. If it returns an error such as 401 or 500, every Auto mode turn fails. Turn this off and have users restart the app.
689>
690> Claude Code's gateway mode ignores this and sends these details by default.
691 
692***
693 
673694### Anthropic
674695 
675696#### `inferenceAnthropicApiKey`
from line 717
696717 
697718string
698719 
699Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
720Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
700721 
701722Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
702723 
from line 751
730751 
731752string
732753 
733Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
754Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
734755 
735756Since 1.6259.0
736757 
from line 763
742763 
743764string
744765 
745Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
766Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
746767 
747768Since 1.6259.0
748769 
from line 775
754775 
755776string
756777 
757Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
778Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
758779 
759780Since 1.6259.0
760781 
from line 787
766787 
767788string
768789 
769Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
790Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
770791 
771792Since 1.6259.0
772793 
from line 799
778799 
779800string
780801 
781Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
802Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
782803 
783804Since 1.2581.0
784805 
from line 811
790811 
791812string
792813 
793Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
814Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
794815 
795816Since 1.2581.0
796817 
from line 823
802823 
803824string
804825 
805Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
826Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
806827 
807828Since 1.13576.0
808829 
from line 837
816837 
817838string
818839 
819Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
840Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
820841 
821842Since 1.2581.0
822843 
from line 857
836857 
837858string
838859 
839Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
860Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
840861 
841862Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
842863 
from line 871
850871 
851872string
852873 
853Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
874Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
854875 
855876Since 1.2581.0
856877 
from line 907
886907 
887908string
888909 
889Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
910Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
890911 
891912Since 1.10628.0
892913 
from line 919
898919 
899920string
900921 
901Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
922Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
902923 
903924Since 1.10628.0
904925 
from line 948
927948 
928949object
929950 
930Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
951Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
931952 
932953Since 1.10628.0
933954 
from line 1004
9831004 
9841005string
9851006 
986Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1007Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
9871008 
9881009Since 1.2581.0
9891010 
from line 1018
9971018 
9981019string
9991020 
1000Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1021Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
10011022 
10021023Since 1.2581.0
10031024 
from line 1030
10091030 
10101031string
10111032 
1012Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1033Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
10131034 
10141035Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
10151036 
from line 1060
10391060 
10401061string
10411062 
1042Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1063Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
10431064 
10441065Since 1.9255.0
10451066 
from line 1072
10511072 
10521073string
10531074 
1054Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1075Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
10551076 
10561077Since 1.9255.0
10571078 
from line 1322
13011322 
13021323**Allow Cowork.** Enable Cowork. Claude works on longer tasks like research, analysis, and documents.
13031324 
1325> [!WARNING]
1326>
1327> **Deprecated**
1328>
1329> * `coworkTabEnabled` (accepted until December 17, 2026); use desktopHome. If it is still present after that, releases that follow 4.4212 and its hot fixes will ignore it, and earlier releases go on reading it. On the releases that ignore it, a device profile that holds nothing but settings past their deprecation date will have no effect, as if it were not installed.
1330 
13041331***
13051332 
13061333### Code surface
from line 1369
13421369 
13431370Beta (The feature that the key configures is in beta.)
13441371 
1345Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
1372Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
13461373 
13471374Since 1.46388.1
13481375 
from line 1379
13521379 
13531380> [accordion] More detail
13541381>
1355> 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.
1382> The app never runs another `ssh` in its place. If the program is missing, SSH sessions fail. So deliver this key only to devices that have it. Where a bootstrap server or the Admin Console delivers configuration, set this key there too: the MDM profile's value alone has no effect.
13561383>
1357> It must be OpenSSH 7.6 or newer. On Windows it must be an `.exe`, and the SSH remote sessions page lists stricter rules for its version and folder. With `sshTransport` set to `system-openssh`, a Windows path may start with `%LOCALAPPDATA%\` for a copy in each user's profile. Device management must set it as a plain string: a server may only repeat it.
1384> It must be OpenSSH 7.6 or newer, and on Windows an `.exe`. Windows normally needs Microsoft OpenSSH 9.4 or newer. Without it, the built-in library connects if `sshTransport` is unset or `auto`. Under `system-openssh`, a Windows path may start with `%LOCALAPPDATA%\`. Device management must set such a path as a plain string. Admin Console organizations cannot use one.
13581385>
13591386> Choose a path that users cannot write to. Anyone who can replace the program can see SSH passwords and get around this key and `sshHostAllowlist`.
13601387 
from line 1407
13801407>
13811408> * The program must be OpenSSH 7.6 or newer, and on Windows normally Win32-OpenSSH 9.4 or newer.
13821409> * If `sshClientPath` is unset and Windows has no usable client, the app uses its built-in library instead.
1410>
1411> Unset or `auto` normally means OpenSSH. On Windows devices, a host already reached with the built-in library stays on it. For one engine on every host, set `system-openssh` or `builtin`.
1412>
1413> A bootstrap server or the Admin Console that leaves this key out still overrides device management's value. So set it everywhere you manage settings.
13831414 
13841415***
13851416 
from line 1422
13911422 
13921423**Allow Chat.** Enable Chat. Quick questions and drafting.
13931424 
1425> [!WARNING]
1426>
1427> **Deprecated**
1428>
1429> * `chatTabEnabled` (accepted until December 17, 2026); use desktopHome. If it is still present after that, releases that follow 4.4212 and its hot fixes will ignore it, and earlier releases go on reading it. On the releases that ignore it, a device profile that holds nothing but settings past their deprecation date will have no effect, as if it were not installed.
1430 
13941431***
13951432 
13961433#### `desktopHome`
from line 1440
14031440 
14041441> [accordion] More detail
14051442>
1406> `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.
1443> `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. Under `standard`, if you use `chatSessionRetentionDays`, set `coworkSessionRetentionDays` as well: it covers new conversations that are Cowork tasks.
14071444>
1408> **Unset:** the three settings that this key replaces decide until November 10, 2026 (12:00 PM PT). Current versions of the app started after that read an unset key as `standard`, whatever those three say. Cowork is then on even where `coworkTabEnabled` is `false`. One exception: where `chatSessionRetentionDays` is set and `coworkSessionRetentionDays` is not set to the same number of days, the three settings go on deciding.
1445> **Unset:** the three settings that this key replaces decide until November 10, 2026 (12:00 PM PT). Current versions of the app started after that read an unset key as `standard`, whatever those three say. Cowork is then on even where `coworkTabEnabled` is `false`.
14091446>
14101447> A non-empty value that the app does not recognize, such as `Standard`, is read as `off`.
14111448 
from line 1454
14171454 
14181455**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.
14191456 
1457> [!WARNING]
1458>
1459> **Deprecated**
1460>
1461> * `chatAdvancedFileAnalysisEnabled` (accepted until December 17, 2026); use desktopHome. If it is still present after that, releases that follow 4.4212 and its hot fixes will ignore it, and earlier releases go on reading it. On the releases that ignore it, a device profile that holds nothing but settings past their deprecation date will have no effect, as if it were not installed.
1462 
14201463> [accordion] More detail
14211464>
14221465> 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 1476
14331476 
14341477string\[]Since 1.2581.0
14351478 
1436**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.
1479**Allowed egress hosts.** Hosts reachable from Chat, Cowork and Code’s sandbox. Empty: none. Unset: none, except in Code when a local file is the only configuration.
14371480 
14381481[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/web-tools.md#web-fetch)
14391482 
from line 1484
14411484>
14421485> Does not cover web search, model requests or MCP servers.
14431486>
1444> * **Entries:** a hostname (`api.github.com`), a wildcard (`*.corp.com`, subdomains only) or `*` for all hosts.
1445> * **Ports:** an entry other than `*` can end in `:port`. In Cowork, web fetch and shell commands enforce the port. Code allows any port. Update all devices first: on an older version one such entry blocks every host for Cowork's shell commands.
1446> * **Plugins:** a plugin's command-line tools also reach the hosts that the plugin declares.
1447> * **Built-in browser:** a list other than `*`, even an empty one, also limits where Claude can browse.
1448> * **Code:** only shell commands are limited, and only where Claude Code's sandbox runs (see `allowedWorkspaceFolders`). Claude Code's own managed settings, where a session has any, take priority by default.
1487> * **Entries:** a hostname, a wildcard (`*.corp.com`, subdomains only) or `*` for all.
1488> * **Ports:** an entry other than `*` can end in `:port`, which only Code ignores. Update all devices first: older versions then block every host in Cowork's shell.
1489> * **Plugins:** command-line tools also reach hosts their plugin declares.
1490> * **Built-in browser:** a list other than `*`, even an empty one, limits Claude's browsing.
1491> * **Code:** a list other than `*` locks Claude Code's sandbox on, for shell commands only, where it runs (see `allowedWorkspaceFolders`). So does an unset list, except where a local file is the only configuration and `blockReadsOutsideWorkingDirectories` is off. Claude Code's own managed settings, where a session has any, take priority by default.
14491492 
14501493***
14511494 
from line 1503
14601503> Claude can read and write in every listed folder unless its `mode` is `ro`. An empty list allows none.
14611504>
14621505> * **Paths:** `~` and these variables expand per user: `%OneDrive%`, `%OneDriveCommercial%`, `%OneDriveConsumer%`, `%APPDATA%`, `%LOCALAPPDATA%`, `%USERNAME%`, `%XDG_DOCUMENTS_DIR%`. An entry with any other variable, or an unset one, adds no folder.
1463> * **Code shell commands:** this key turns on Claude Code's sandbox on macOS, and on Linux and WSL2 with bubblewrap and socat. There, most writes outside the list are refused, and most reads are not. Elsewhere, Windows included, only Claude's file tools follow the list. Claude Code's own managed settings, where a session has any, take priority by default.
1506> * **Code shell commands:** this key turns on Claude Code's sandbox on macOS, and on Linux and WSL2 where bubblewrap and socat work. There, most writes outside the list are refused, and most reads are not. Elsewhere, Windows included, only Claude's file tools follow the list. Claude Code's own managed settings, where a session has any, take priority by default.
14641507>
14651508> Do not list a home folder: it holds SSH keys and shell start-up files.
14661509 
from line 1513
14701513>
14711514> Absolute folder path. May start with \~ or one of the listed %VAR% tokens, expanded per user. Subfolders are included.
14721515>
1516> > [accordion] More detail
1517> >
1518> > Desktop checks this list inside the distro for a WSL session that starts under it. `~` also means the distro user's home. The session needs both bubblewrap and socat there to start. Shell commands can read the Windows drives under `/mnt`. To hide them, apart from listed `/mnt` folders, set `blockReadsOutsideWorkingDirectories`. Users can re-open them. Claude Code's server-managed settings, managed settings in the distro or a Windows policy with `wslInheritsWindowsSettings` replace Desktop's session settings. A session can then run with no sandbox, with or without those programs. Shell commands can read the drives and write outside the list after a prompt, or with none in bypass mode. If the one in force sets `parentSettingsBehavior` to `merge`, those settings stay, but it can undo them.
1519>
14731520> **isDefaultSelected** `boolean`
14741521>
14751522> Shows as a folder chip on the new-task page and skips the trust prompt. Users can remove it.
from line 1548
15011548> * **Shell commands:** where Claude Code's sandbox runs (see `allowedWorkspaceFolders`), most reads in the home folder and other user folders are refused. Elsewhere such reads ask for approval.
15021549> * **Users** can re-open folders, even their whole home folder, in their own Claude Code settings.
15031550>
1504> The user's git configuration files stay readable, and they can hold credentials.
1551> The user's git configuration files stay readable, and they can hold credentials. If the app cannot download its Claude Code, sessions may run on an older copy without this block.
15051552>
15061553> Claude Code's own managed settings, where a session has any, take priority by default.
15071554 
from line 1675
16281675 
16291676> [accordion] More detail
16301677>
1631> 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.
1678> Turning this off only hides projects. Their tasks and chats stay in the list, ungrouped. Their data stays where it is. Projects come back when you turn it on again.
16321679>
16331680> A task that is still open in a project keeps working with what it was started with. A scheduled task set up in a project keeps running in it. To stop it, turn off `scheduledTasksEnabled`, which stops all scheduled tasks.
16341681 
from line 1858
18111858 
18121859***
18131860 
1861#### `deploymentMode`
1862 
1863enum
1864 
1865MDM only (You can set the key only in an MDM profile or the local configuration file. Claude Desktop ignores it in a bootstrap server's response.)
1866 
1867Since 4.16336.0
1868 
1869**Deployment mode.** Whether Claude Desktop runs only on your third-party setup, only signed in to Claude.ai, or as each person chooses at sign-in.
1870 
1871One of: `any`, `3p`, `1p`
1872 
1873[Admin Console](#the-works-with-column): Not available.
1874 
1875> [accordion] More detail
1876>
1877> Replaces `disableDeploymentModeChooser`, whose `true` means `3p`. `3p` or `1p` wins over that key. A bootstrap server's value is ignored. Earlier versions do not read this key.
1878>
1879> * `3p`: keeps the app on the connection this configuration names, with no Claude.ai sign-in. With no connection, Claude.ai sign-in opens. To block Claude.ai sign-in, name a connection.
1880> * `1p`: always Claude.ai sign-in, even where a connection is named. No Claude API account sign-in and no setup of the user's own.
1881> * `any`: the same as unset.
1882>
1883> In an MDM profile, `3p` or `1p` blocks a move to an Admin Console organization. It also makes that profile the device's whole configuration, even one of app-behavior keys only. In a user's own saved configuration, the user can change it.
1884>
1885> A misspelled value counts as `3p`.
1886 
1887***
1888 
18141889#### `disableDeepLinkRegistration`
18151890 
18161891booleanDefault: falseSince 1.6889.0
from line 2061
19862061>
19872062> **toolPolicy** `object: name → value`
19882063>
1989> Lock the approval state for specific tools. Unlisted tools stay user-controlled.
2064> Sets approval for listed tools, and users choose the rest, but “allow” doesn’t pre-approve tools in Code sessions on the device or over SSH.
19902065>
19912066> > [accordion] More detail
19922067> >
from line 2121
20462121> >
20472122> > **headersHelper** `string`
20482123> >
2049> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2124> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
20502125> >
20512126> > Script that prints the auth header as a JSON object to stdout. Runs before each request (cached for the TTL below).
20522127> >
from line 2131
20562131> >
20572132> > **headersHelperArgs** `string[]`
20582133> >
2059> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2134> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
20602135> >
20612136> > Arguments passed to the headers helper script, one per entry, in order. Leave unset to run it with none.
20622137> >
from line 2286
22112286> > > >
22122287> > > > **oauth.clientSecretHelper** `string`
22132288> > > >
2214> > > > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2289> > > > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
22152290> > > >
22162291> > > > Script that prints the client secret as a JSON object with a single clientSecret key. Takes priority over Client secret.
22172292> > > >
from line 2400
23252400> >
23262401> > **headersHelper** `string`
23272402> >
2328> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2403> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
23292404> >
23302405> > Absolute path to an executable that prints a JSON object of HTTP headers on stdout. Merged over static headers; the helper wins on conflict.
23312406> >
from line 2410
23352410> >
23362411> > **headersHelperArgs** `string[]`
23372412> >
2338> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2413> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
23392414> >
23402415> > Arguments passed to the headers helper script, one per entry, in order. Leave unset to run it with none.
23412416> >
from line 2500
24252500> >
24262501> > **command** `string` *required*
24272502> >
2428> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2503> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
24292504> >
24302505> > Absolute path to the server executable, run on the user’s machine.
24312506> >
24322507> > **args** `string[]`
24332508> >
2434> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2509> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
24352510> >
24362511> > Arguments passed to the command, one per entry.
24372512> >
24382513> > **env** `object: name → value`
24392514> >
2440> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2515> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
24412516> >
24422517> > Environment variables set for the command.
24432518> >
24442519> > **envHelper** `string`
24452520> >
2446> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2521> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
24472522> >
24482523> > Script that prints environment variables as a JSON object to stdout. Runs when the local server starts (cached for the TTL below).
24492524> >
from line 2531
24562531> >
24572532> > **envHelperArgs** `string[]`
24582533> >
2459> > Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2534> > Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
24602535> >
24612536> > Arguments passed to the environment helper script, one per entry, in order. Leave unset to run it with none.
24622537> >
from line 2809
27342809 
27352810booleanDefault: falseSince 1.2581.0
27362811 
2737**Block essential telemetry.** Crash and performance reports to Anthropic.
2812**Block essential telemetry.** Crash, error, and performance reports to Anthropic.
27382813 
27392814[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#essential-telemetry)
27402815 
27412816> [accordion] More detail
27422817>
2743> Reports include **crash stacks**, **startup failure reasons**, **version/OS metadata**, and **crash dumps** (each an unfiltered copy of part of the app's memory). They carry a random install ID and an organization ID, which the app picks if you set none (see `deploymentOrganizationUuid`).
2818> Reports include **error messages and stack traces**, **the process that crashed**, **startup failure reasons**, **performance timings**, and **version/OS metadata**. Turning this on also stops Claude Code's error reports. Reports carry a random install ID and an organization ID, which the app picks if you set none (see `deploymentOrganizationUuid`).
27442819>
27452820> Reports can also include:
27462821>
from line 2832
27572832 
27582833booleanDefault: falseSince 1.2581.0
27592834 
2760**Block nonessential telemetry.** Product-usage analytics (no message content) and diagnostic-report uploads.
2835**Block nonessential telemetry.** Product-usage analytics (no message content).
27612836 
27622837[Guide for this setting](https://claude.com/docs/third-party/claude-desktop/telemetry.md#non-essential-telemetry)
27632838 
27642839> [accordion] More detail
27652840>
2841> The product-usage analytics come from the app and from Claude Code. Turning this on also stops Claude Code's error reports and its other nonessential requests to Anthropic.
2842>
27662843> 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.
27672844 
27682845***
from line 2916
28392916 
28402917string
28412918 
2842Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
2919Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
28432920 
28442921Since 1.30096.1
28452922 
from line 3187
31103187> * another account's sessions, until that account signs in
31113188> * Code sessions on an SSH host or in WSL
31123189> * Cowork background tasks that the sidebar does not list
3190> * a Cowork task's live artifacts
31133191> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention
31143192>
31153193> A value that cannot be read as a whole number of days deletes nothing.
3194>
3195> To keep some people's idle sessions, set all three periods to 3650 days for them, in the configuration that sets their periods.
31163196 
31173197***
31183198 
from line 3212
31323212> * another account's sessions, until that account signs in
31333213> * Code sessions on an SSH host or in WSL
31343214> * Cowork background tasks that the sidebar does not list
3215> * a Cowork task's live artifacts
31353216> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention
31363217>
31373218> A value that cannot be read as a whole number of days deletes nothing.
3219>
3220> To keep some people's idle sessions, set all three periods to 3650 days for them, in the configuration that sets their periods.
31383221 
31393222***
31403223 
from line 3237
31543237> * another account's sessions, until that account signs in
31553238> * Code sessions on an SSH host or in WSL
31563239> * Cowork background tasks that the sidebar does not list
3240> * a Cowork task's live artifacts
31573241> * Claude Code's prompt history, plans and shell snapshots, which keep its own retention
31583242>
31593243> A value that cannot be read as a whole number of days deletes nothing.
3160 
3161***
3162 
3163#### `sessionRetentionHold`
3164 
3165booleanSince 1.52386.0
3166 
3167**Suspend session deletion.** Suspend the chat, Cowork and Code retention periods (legal hold). Claude Code’s own transcript cleanup (cleanupPeriodDays) still runs.
3168 
3169> [accordion] More detail
31703244>
3171> Meant to be set per user or group.
3172>
3173> * Deletion stops at the first configuration fetch that carries the hold, before any restart.
3174> * A device that cannot reach its bootstrap server deletes nothing.
3175>
3176> In MDM, do not deploy the hold in a profile of its own: the app would then ignore the device's local configuration.
3245> To keep some people's idle sessions, set all three periods to 3650 days for them, in the configuration that sets their periods.
31773246 
31783247***
31793248 
from line 3364
32953364 
32963365object
32973366 
3298Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
3367Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
32993368 
33003369Since 4.4212.0
33013370 
from line 3373
33043373> [accordion] More detail
33053374>
33063375> * **Runs:** on the user's device, as the signed-in user, when a session opens, a turn ends, the app regains focus or the model changes.
3307> * **Input:** one JSON line on standard input: `{"session_id": "…", "model": {"id": "…", "display_name": "…"}}`. Fields with no value are left out.
3376> * **Input:** one JSON line on standard input: `{"session_id": "…", "model": {"id": "…", "display_name": "…"}}`. Fields with no value are left out. Do not build a file path from these values.
33083377> * **Output:** Claude shows the first non-empty line, up to 200 characters. ANSI codes 31 to 36 and 91 to 96 set the color.
33093378> * **Limits:** 10 seconds and 64 KiB of output. Past either, Claude stops the program.
33103379 
3311> [accordion] Child attributes (1)
3380> [accordion] Child attributes (2)
33123381>
33133382> **command** `string` *required*
33143383>
from line 3393
33243393> > Otherwise it does not run, and the log says why.
33253394> >
33263395> > Claude does not check the interpreter on a `#!` line, so keep that out of users' reach too. An interpreter can also load code from the user's folders. Start Python isolated (for example `#!/usr/bin/python3 -I`) or use a compiled program.
3396>
3397> **platformOverrides** `object`
3398>
3399> Set a different program for Windows, macOS or Linux. Devices on a system you leave out run the setting’s own program.
3400>
3401> > [accordion] More detail
3402> >
3403> > Under `win32`, `darwin` or `linux`, give that operating system's `command`. Set the setting's own `command` too, even if all three systems have one.
3404> >
3405> > * A path under `win32` starts with a drive letter. A path under `darwin` or `linux` has no drive letter and no backslash.
3406> > * A path in the wrong form, or an unknown name such as `windows`, turns the status line off on every operating system.
3407> > * An older version rejects the whole setting if this is present, and shows no status line. Add it only after all devices are updated.
3408> > * In the Admin Console, a group that sets only `command` keeps the organization's programs here, and devices on those systems run them, not the group's. To change one, also set that system's `command` in the group.
3409>
3410> > [accordion] Child attributes (3)
3411> >
3412> > **platformOverrides.win32** `object: name → value`
3413> >
3414> > On Windows, Claude runs this program in place of the program above.
3415> >
3416> > **platformOverrides.darwin** `object: name → value`
3417> >
3418> > On macOS, Claude runs this program in place of the program above.
3419> >
3420> > **platformOverrides.linux** `object: name → value`
3421> >
3422> > On Linux, Claude runs this program in place of the program above.
33273423 
33283424***
33293425 
from line 3469
33733469>
33743470> **credentialHelper** `string`
33753471>
3376> Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
3472> Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
33773473>
33783474> Executable that prints the access token to send.
33793475>
from line 3776
36803776* **Admin Console only**: Only the Enterprise Admin Console can set the key. Claude Desktop ignores it in an MDM profile, in the local configuration file and in a bootstrap server's response. [Read more](https://claude.com/docs/third-party/claude-desktop/admin-console.md).
36813777* **Beta**: The feature that the key configures is in beta.
36823778* **Deprecated**: On third-party deployments Claude Desktop no longer reads the key and ignores any value set for it. Remove it from your configuration.
3683* **Consent required**: A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval. [Read more](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#keys-that-require-user-consent).
3779* **Consent required**: A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval. [Read more](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#keys-that-require-user-consent).
36843780* **Origin-pinned**: A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console. [Read more](https://claude.com/docs/third-party/claude-desktop/bootstrap.md#origin-pinning).
36853781* **required**: The object or list entry that holds this field is not valid without it. Depending on the key, Claude Desktop then drops that entry alone, treats the key as unset, or applies a restrictive value in its place.
36863782 

third-party/claude-desktop/configuration-changelog Changed · +37 / -1 lines

from line 4
44 
55Configuration keys by Claude Desktop release. Each section lists keys added in that release, with the MDM key name (for plist/registry deployment) and the equivalent JSON shape (for local-file or bootstrap remote configuration).
66 
7**v4.16336.0**
8 
92026-11-03
10 
11| MDM key | Type | Description |
12| - | - | - |
13| [`inferenceGatewayAutoModeServerChecks`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencegatewayautomodeserverchecks) | `boolean` | Server-side Auto mode checks |
14| [`deploymentMode`](https://claude.com/docs/third-party/claude-desktop/configuration#deploymentmode) | `enum` | Deployment mode |
15 
16**JSON (e.g. for non-MDM users or Bootstrap):**
17 
18```json theme={null}
19{
20 "inference": {
21 "autoModeServerChecks": "<boolean>"
22 },
23 "authentication": {
24 "deploymentMode": "<any|3p|1p>"
25 }
26}
27```
28 
29`deploymentMode` is read from device management or a local configuration file only. A value served by a bootstrap server is ignored. Setup in this version offers only `deploymentMode`, so a profile made there with `3p` still offers Claude.ai sign-in on earlier versions, which read only `disableDeploymentModeChooser`. Until all devices are updated, also set that key to `true` in the profile.
30 
31**Changed:**
32 
33* **Breaking:** `desktopHome`: at launches after 12:00 PM PT on November 10, 2026, an unset key reads as `standard` even where `chatSessionRetentionDays` is set. New conversations that are Cowork tasks are deleted by `coworkSessionRetentionDays`, not by `chatSessionRetentionDays`, so set both. Administrators see a configuration warning where the two differ.
34* `sessionStatusLine`: a new member, `platformOverrides`, sets a different program for `win32`, `darwin` or `linux`. Devices on a system you leave out run the setting's own program. An older version rejects the whole setting when `platformOverrides` is present and shows no status line, so add it only after all devices are updated.
35* `coworkEgressAllowedHosts`: unset no longer keeps the Code tab's shell commands off the network on a device whose only configuration is a local file, even one copied by a script, unless `blockReadsOutsideWorkingDirectories` is on. An empty list still allows no host, for shell commands where Claude Code's sandbox runs. Cowork and Chat are unchanged.
36* A setting past its deprecation date, such as `organizationPluginsUrl`, is now ignored, not a configuration error. A device profile that holds only such settings now has no effect, where it locked local settings and set aside a served configuration. If the Enterprise Admin Console delivers the device's configuration, it applies again, and its retention periods then delete idle sessions for good.
37 
38**Deprecated:**
39 
40* `coworkTabEnabled`, `chatTabEnabled` and `chatAdvancedFileAnalysisEnabled`: use `desktopHome`. This release and later ignore them from 12:00 PM PT on December 17, 2026, and earlier releases go on reading them. Users see an in-app warning from November 17, 2026 while one is still set. They are no longer in the policy templates.
41* `sessionRetentionHold`: this release and later ignore it from 12:00 PM PT on December 17, 2026, and retention periods then permanently delete the idle sessions it kept. To keep those sessions, first set all three retention periods to 3650 days in the configuration that sets them (with a configuration server or the Enterprise Admin Console, set them there, not in the device profile), wait until devices have the new periods, then remove the key. Users see no warning in the app. The key is no longer in the configuration reference or the policy templates, so a device profile rebuilt from the new templates drops it: set the periods first.
42 
743**v4.4212.0**
844 
9452026-10-29
from line 542
506542| [`chatSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#chatsessionretentiondays) | `integer` | Chat retention period |
507543| [`coworkSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#coworksessionretentiondays) | `integer` | Cowork retention period |
508544| [`codeSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#codesessionretentiondays) | `integer` | Code retention period |
509| [`sessionRetentionHold`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionretentionhold) | `boolean` | Suspend session deletion |
545| `sessionRetentionHold` | `boolean` | Suspend session deletion |
510546| [`coworkVmIpv6Enabled`](https://claude.com/docs/third-party/claude-desktop/configuration#coworkvmipv6enabled) | `boolean` | Enable IPv6 in the workspace VM |
511547 
512548**JSON (e.g. for non-MDM users or Bootstrap):**

third-party/claude-desktop/extensions Changed · +35 / -0 lines

### Changes to skill files after a scan

from line 498
498498 
499499Claude Desktop doesn't scan plugins, or the skills inside them. To stop users from adding their own plugins, see [Controlling user extensions](#controlling-user-extensions).
500500 
501When a skill passes a scan or gets a caution, Claude Desktop changes some characters in the skill's files, and a skill that depends on those characters can stop working. Before you turn on scanning, see [Changes to skill files after a scan](#changes-to-skill-files-after-a-scan).
502 
501503### Turn on skill scanning
502504 
503505In the Enterprise Admin Console:
from line 538
536538 
537539The Enterprise Admin Console doesn't show scan results. To collect them, set [`otlpEndpoint`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpendpoint). Claude Desktop then sends scan records to your own [OpenTelemetry collector](https://claude.com/docs/third-party/claude-desktop/telemetry.md#sending-telemetry-to-your-own-collector) as log records whose body is `custom3p_skill_scan_completed`. It sends no scan records while [`otlpDesktopLogLevel`](https://claude.com/docs/third-party/claude-desktop/configuration#otlpdesktoploglevel) is `off`. A scan record identifies the user and includes the skill's name, the result, and the model's summary of the skill when there is one. The summary can quote the skill, and Claude Desktop sends it even when [content capture](https://claude.com/docs/third-party/claude-desktop/telemetry.md#content-capture) is off. To keep the summary out of your backend, drop the `scan_summary` attribute in the collector.
538540 
541### Changes to skill files after a scan
542 
543When a skill gets a **Pass** or **Caution** result, Claude Desktop changes some characters in the skill's text files. The app doesn't tell the user or the administrator about the changes, and it doesn't keep a copy of the original files. Turning on scanning doesn't change the skills that users already saved. Claude Desktop scans such a skill the next time the user saves it, and its files can change then.
544 
545The model that runs a scan doesn't see some characters, but a program that runs the file acts on every character. Claude Desktop removes or replaces these characters before it sends the text to the model, and then saves the same text. For the limits of these changes, see [What skill scanning doesn't cover](#what-skill-scanning-doesn%E2%80%99t-cover).
546 
547Claude Desktop makes these changes, and a few similar ones, to a text file:
548 
549| In the user's file | In the saved file |
550| - | - |
551| Windows line endings | Unix line endings, including in `.bat` and `.cmd` files |
552| A carriage return on its own | Removed, which joins the lines |
553| Single and double curly quotes | Similar-looking characters (U+02BB, U+02BC, U+201F, and U+02EE) that shells, Python, JavaScript, JSON, and YAML don't treat as quotation marks |
554| Other kinds of space, such as a no-break space or a thin space | Plain spaces |
555| A raw escape character, most other control characters, and icon-font characters (U+E000 to U+F8FF) | Removed |
556| Invisible characters, such as a zero-width space, a soft hyphen, or a byte-order mark | Removed, unless the character before or after is non-ASCII, as in emoji and in scripts such as Persian and Hindi |
557 
558In PowerShell files, such as `.ps1` files, curly quotes become straight quotes and a carriage return on its own becomes a line feed. A PowerShell file that contains non-ASCII characters can also gain a byte-order mark and a line break at its start.
559 
560Claude Desktop doesn't change file names. It also leaves PNG and JPEG images, PDFs, and dependency lock files such as `package-lock.json` as they are.
561 
562A skill that depends on the original characters can stop working after the scan, as in these examples:
563 
564* **Windows batch files**: `cmd.exe` can fail to find a `goto` or `call` label in a file that has Unix line endings.
565* **Signed or hashed files**: a changed PowerShell script doesn't match its signature, and a changed file doesn't match a stored hash.
566* **Mentions of the skill's own files**: if a file name contains a changed character, as in `What’s New.md`, a mention of the file in `SKILL.md` changes but the name doesn't, so the two don't match.
567 
568You can't exempt a skill from these changes, and turning scanning off doesn't restore the original files. While scanning is off, a user can upload their own copy of the skill again, and Claude Desktop saves it unchanged.
569 
570To give users a skill that depends on these characters, deliver it as an organization plugin, through a [plugin marketplace](#plugin-marketplaces-admin) or the [system-wide directory](#organization-plugins-admin). Claude Desktop doesn't scan plugins or change their files, so review the skill's files yourself first.
571 
539572### What skill scanning doesn't cover
540573 
541574Besides plugins, the app doesn't scan these:
from line 577
544577* Changes that someone makes directly to a skill's files on disk.
545578* Files inside a skill that the scan skips because of their file names, for example PNG and JPEG images, PDFs, and dependency lock files such as `package-lock.json`. The scan doesn't look at what is in these files, so it doesn't read a script that is saved as `logo.png`.
546579* Skills that aren't saved in the app at all, for example [Claude Code skills](https://code.claude.com/docs/en/skills) in `.claude/skills` folders on the device. A [Code session](https://claude.com/docs/third-party/claude-desktop/code.md) in Claude Desktop loads those skills too.
580 
581After [these changes to a skill's files](#changes-to-skill-files-after-a-scan), a program can still read a file differently from the model. For example, Windows PowerShell 5.1 and `cmd.exe` can interpret non-ASCII characters according to the device's code page.
547582 
548583A pass means that the scan found no sign that the skill is malicious. It isn't a guarantee that the skill is safe.
549584 

third-party/claude-desktop/foundry Changed · +4 / -4 lines

from line 117
117117 
118118string
119119 
120Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
120Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
121121 
122122Since 1.2581.0
123123 
from line 129
129129 
130130string
131131 
132Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
132Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
133133 
134134Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
135135 
from line 157
157157 
158158string
159159 
160Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
160Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
161161 
162162Since 1.9255.0
163163 
from line 169
169169 
170170string
171171 
172Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
172Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
173173 
174174Since 1.9255.0
175175 

third-party/claude-desktop/gateway Changed · +130 / -5 lines

#### `inferenceGatewayAutoModeServerChecks` ### Auto mode checks #### Gateway requirements for Auto mode checks #### What users see when no Auto mode verdict arrives #### Test Auto mode checks on one device #### Auto mode check results in the diagnostic report #### Turn off server-side Auto mode checks

from line 172
172172 
173173string
174174 
175Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
175Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
176176 
177177Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
178178 
from line 233
233233 
234234object
235235 
236Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
236Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
237237 
238238Since 1.6889.0
239239 
from line 350
350350 
351351object
352352 
353Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
353Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
354354 
355355Since 2.7032.0
356356 
from line 454
454454 
455455***
456456 
457#### `inferenceGatewayAutoModeServerChecks`
458 
459booleanSince 4.16336.0
460 
461**Server-side Auto mode checks.** Temporary setting: sends session details, such as folder paths and a user name, so your gateway’s provider checks risky Auto mode actions.
462 
463> [accordion] More detail
464>
465> Off unless you set it to `true`. While off, Auto mode's built-in safety check reviews risky actions.
466>
467> This setting is temporary. It goes away when Claude Code drops that built-in check. After that, only turning off **Allow Auto mode** avoids the provider's check.
468>
469> When on, each Auto mode request carries one more `anthropic-beta` value and a `safeguards` field. The field describes the session, including Claude Code's `autoMode` settings, permission rules, folder paths, a user name and Git state. Your gateway must forward both unchanged, and return `safeguard_results` and tool-use IDs unchanged. If it returns an error such as 401 or 500, every Auto mode turn fails. Turn this off and have users restart the app.
470>
471> Claude Code's gateway mode ignores this and sends these details by default.
472 
473***
474 
457475To send additional HTTP headers on every inference request (tenant routing, org IDs, and similar), set [`inferenceCustomHeaders`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencecustomheaders). It applies to all providers, not just gateways.
458476 
459477### Single sign-on configuration keys
from line 563
545563 
546564[MCP tool search](https://code.claude.com/docs/en/mcp#scale-with-mcp-tool-search) loads MCP tool schemas on demand instead of inlining every schema into the context window. It reduces context pressure when many MCP tools are configured (sessions that otherwise compact every turn or two).
547565 
548On gateway deployments, Claude Desktop turns tool search off by default, along with Claude Code's other experimental beta features, because strict gateways reject the experimental `anthropic-beta` request headers and request fields those features add. The same applies to Microsoft Foundry deployments and to any provider configured with a custom base URL. Setting the `ENABLE_TOOL_SEARCH` environment variable to `true` does not lift this suppression. To turn tool search on for these deployments, set the [`toolSearchEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#toolsearchenabled) configuration key. Requires app version 1.21459.0 or later.
566On gateway deployments, Claude Desktop turns off tool search and Claude Code's other experimental beta features by default, because strict gateways reject the experimental `anthropic-beta` request headers and request fields those features add. The same applies to Microsoft Foundry deployments and to any provider configured with a custom base URL. Setting the `ENABLE_TOOL_SEARCH` environment variable to `true` does not lift this suppression. To turn tool search on for these deployments, set the [`toolSearchEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#toolsearchenabled) configuration key. Requires app version 1.21459.0 or later.
549567 
550568On Claude API, Google Cloud's Agent Platform, Amazon Bedrock, and Amazon Bedrock Mantle deployments with no custom base URL, tool search is on by default from Claude Desktop 1.49585.0 and `toolSearchEnabled` is not needed. These versions leave Claude Code's experimental beta features on for those providers, as terminal Claude Code does (on Google Cloud's Agent Platform, tool search applies to Claude 4.5 and newer models). To turn tool search off on these deployments, set `ENABLE_TOOL_SEARCH` to `false` in the `env` block of OS-level [Claude Code managed settings](https://code.claude.com/docs/en/settings#settings-files), with [`parentSettingsBehavior`](https://claude.com/docs/third-party/claude-desktop/code) set to `merge`. On earlier app versions these providers also have tool search off by default, and `toolSearchEnabled` turns it on.
551569 
552570> [!WARNING]
553571>
554> Setting `toolSearchEnabled` causes sessions to send experimental request headers and fields to your gateway or provider. On gateway deployments running Claude Desktop 1.40609.0 or later this is only the tool-search request shape (the `tool-search-tool-2025-10-19` value in the `anthropic-beta` header, deferred tool loading, and `tool_reference` content blocks), and every other experimental Claude Code beta stays off. On earlier versions, on Microsoft Foundry, and on providers behind a custom base URL, the key instead lifts the experimental-beta suppression for these sessions, so requests also carry Claude Code's other experimental beta headers and fields for that provider. Enable it only if your gateway forwards and accepts what it will receive; when it does not, requests fail with HTTP 400. LiteLLM in passthrough mode and Cloudflare AI Gateway both forward `anthropic-beta` headers and `tool_reference` content blocks.
572> Setting `toolSearchEnabled` causes sessions to send experimental request headers and fields to your gateway or provider. On gateway deployments running Claude Desktop 1.40609.0 or later the key adds only the tool-search request shape (the `tool-search-tool-2025-10-19` value in the `anthropic-beta` header, deferred tool loading, and `tool_reference` content blocks). On earlier versions, on Microsoft Foundry, and on providers behind a custom base URL, the key instead lifts the experimental-beta suppression for these sessions, so requests also carry Claude Code's other experimental beta headers and fields for that provider. Enable it only if your gateway forwards and accepts what it will receive; when it does not, requests fail with HTTP 400. LiteLLM in passthrough mode and Cloudflare AI Gateway both forward `anthropic-beta` headers and `tool_reference` content blocks.
555573 
574### Auto mode checks
575 
576In [**Auto mode**](https://claude.com/docs/third-party/claude-desktop/configuration.md#automodeenabled), which Cowork shows as **Automatically approve**, a safety classifier reviews Claude's actions and blocks the ones it judges risky. On a gateway deployment, these can do the review:
577 
578* **Claude Code's built-in safety check (the default)**: it sends its own requests through your gateway, and you pay for them like the rest of your usage.
579* **The model provider behind your gateway**: the session asks for the review in its normal request, and the provider returns its verdict with the response. The session sends no separate request for an action that gets a verdict.
580 
581> [!NOTE]
582>
583> If a card or notice titled **Auto mode switched to its built-in safety check for this session** sent you here, you can keep working. Share this section with whoever manages Claude Desktop or the gateway for you.
584 
585To have the provider do the review, set [`inferenceGatewayAutoModeServerChecks`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencegatewayautomodeserverchecks) to `true`. In the [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md#open-the-configuration-window), it's the **Server-side Auto mode checks** toggle under **Connection**. Quit and reopen Claude Desktop after you change the setting, as after [any configuration change](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#when-a-configuration-change-on-a-device-takes-effect). Before you deploy the setting, [test it on one device](#test-auto-mode-checks-on-one-device).
586 
587Sessions that a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) runs in Claude Code's gateway mode ask for the review by default, and the setting doesn't change them.
588 
589#### Gateway requirements for Auto mode checks
590 
591With the setting on, your gateway needs to pass these parts of each Auto mode request and response through unchanged.
592 
593| What to pass through | Where it appears |
594| - | - |
595| The `dangerous-tool-use-2026-09-03` value | The `anthropic-beta` request header |
596| The `safeguards` field | The top level of the request body |
597| The `safeguard_results` field | The `delta` object of the `message_delta` streaming event |
598| The `id` of each `tool_use` content block | The `content_block_start` streaming events |
599 
600The provider behind your gateway also needs to run the review for the model that a session uses. The [test](#test-auto-mode-checks-on-one-device) shows whether it does for the model you test with.
601 
602> [!WARNING]
603>
604> The `safeguards` field describes the session so that the provider can judge each action. A gateway that logs request bodies logs this field too. The field includes details such as the following:
605>
606> * [`autoMode` settings](https://claude.com/docs/third-party/claude-desktop/code#tune-the-auto-mode-classifier), including any that your organization or, in Code sessions, the user added
607> * Permission rules and folder paths, including the user's home folder
608> * A user name, such as the login name on the device or the part of the user's Git email address before the `@`
609> * Git state such as the branch, the remotes, and the number of changed files
610 
611#### What users see when no Auto mode verdict arrives
612 
613In sessions where the setting turns the review on, users see one of the following when your gateway or provider doesn't meet the requirements.
614 
615* **A card or notice, and work continues**: no result comes back, the provider answers that it doesn't run the review or has it turned off, or the request gets a `400`, `403`, or `422` and succeeds when the session sends it again without the review. The session switches to the built-in safety check. Code shows a card titled **Auto mode switched to its built-in safety check for this session**, and Cowork shows the same words as a notice. In Code, the turn continues once the user selects **Continue**. If nobody answers the card within five minutes, the turn ends, and the action that waited reads `Stopped` and doesn't run.
616* **Nothing, and work continues**: the `tool_use` IDs are rewritten, or the provider answers that it couldn't run the review. The built-in safety check reviews actions.
617* **Actions don't run**: the `safeguard_results` field arrives in a form the session can't read. Actions that need a review read `Blocked` in Code and, after the turn, `Failed` in Cowork. The turn can stop with a notice that begins `Auto mode is unavailable`. [Turn the setting off](#turn-off-server-side-auto-mode-checks).
618* **Every Auto mode turn fails**: the request gets another error, such as `401` or `500`. See [Troubleshoot](#troubleshoot).
619 
620After a user selects **Continue**, the card stays hidden for that user on that device for 24 hours, so rely on the diagnostic report when you test again.
621 
622#### Test Auto mode checks on one device
623 
624The admin console can't limit the setting to a group, so use a device that isn't signed in to your console organization.
625 
626**1. Turn the setting on**
627 
628Set the key in the device's managed profile, or in the [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md)'s response for its user, then quit and reopen Claude Desktop. On a device with no managed profile, turn the toggle on in the in-app configuration window, then click **Apply Changes** and **Save & Restart**.
629 
630**2. Run one task in Auto mode**
631 
632Note the time in UTC. Start a Code session on the device itself, not on an SSH host, and select **Auto mode**. Ask Claude for an action that Auto mode reviews, such as creating a file outside the project folder or fetching a web page. If the card appears, select **Continue**, because the session may write its result only after you answer.
633 
634**3. Read the result in the diagnostic report**
635 
636Right after the task, go to **Help > Troubleshooting > Generate Diagnostic Report** and select **Export to file**. In the exported report, open `cli-diagnostics-log.txt` and find the lines whose `event` is `cli_api_auto_mode_server_check`. Every session on the device writes to this log, so read only the lines whose `timestamp` is later than the time you noted. Look up the `state` and `reason` in each line's `data` under [Auto mode check results in the diagnostic report](#auto-mode-check-results-in-the-diagnostic-report).
637 
638#### Auto mode check results in the diagnostic report
639 
640A `requested` line means that the session asked for the review. The lines after it are the result. A session writes each kind of line only once, so start a new session for each test.
641 
642| Line in the report | What it means | What to do |
643| - | - | - |
644| `verdict` | Your gateway passes the review through. | Repeat the test with each model that your users can select. If a `no_verdict` line also appears, follow its row first. |
645| `no_verdict`, `server_no_result` | No result came back. Part of the review was dropped on the way, or the provider returned none. | Compare what the gateway sent upstream and returned to the client with [the requirements](#gateway-requirements-for-auto-mode-checks). If it passed everything through, follow the `server_unsupported` row. |
646| `no_verdict`, `server_unsupported` | The provider doesn't run the review for this model or key. | Use a provider and model that run the review, or [turn the setting off](#turn-off-server-side-auto-mode-checks). |
647| `no_verdict`, `other_tool_use_ids` | Verdicts came back under IDs that none of the response's actions has. | Return the provider's `tool_use` IDs unchanged. |
648| `no_verdict`, `server_unrecognized_result` | The session can't read the `safeguard_results` field. | [Turn the setting off](#turn-off-server-side-auto-mode-checks), because actions that need a review don't run. Then compare what your gateway returned to the client with [the requirements](#gateway-requirements-for-auto-mode-checks). |
649| `not_requested`, `beta_rejected` | Your gateway, or the provider behind it, answered `400`, `403`, or `422` to an earlier request that asked for the review, so the session stopped asking. | Check your gateway's logs for which of the two refused the request. For your gateway, accept the header value and the field. For the provider, follow the `server_unsupported` row. |
650| `not_requested`, `betas_disabled`, `switch` is `off` | The setting is off or not set for this device. | Turn the setting on, then quit and reopen Claude Desktop. |
651| `not_requested`, `betas_disabled`, `switch` is `on` | The device's own Claude Code managed settings or a compliance policy turn experimental betas off, which takes priority. | If a `requested` line follows, ignore this line. If none follows, check whether the device's [Claude Code managed settings](https://code.claude.com/docs/en/managed-settings) set `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. |
652| Only `requested`, and Claude's actions read `Blocked`, or `Failed` with an error that names auto mode | The session couldn't read the verdicts, or the response ended before they arrived. | If the log also holds `cli_stream_failed` lines, see the streaming requirement in [Context window and compaction](#context-window-and-compaction). Otherwise, follow the `server_unrecognized_result` row. |
653| Only `requested`, and the turn failed with an error that doesn't name Auto mode | The request that asked for the review got an error. | See [Troubleshoot](#troubleshoot). |
654| Only `requested`, and the turn finished | No action in the turn got a verdict. | Start a new session, and ask for an action that Auto mode reviews. |
655| No `cli_api_auto_mode_server_check` line | The session recorded nothing about the review. | Check that the session ran in **Auto mode**, then update Claude Desktop. |
656 
657For any other line, or if these steps don't help, share the report with your Anthropic representative.
658 
659#### Turn off server-side Auto mode checks
660 
661Set [`inferenceGatewayAutoModeServerChecks`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencegatewayautomodeserverchecks) to `false` to have Claude Code's built-in safety check review Auto mode's actions, except in sessions that a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) runs in Claude Code's gateway mode. A key that isn't set follows the default, so set it to `false` rather than leaving it out.
662 
663Set the key in whichever of these holds the device's gateway settings:
664 
665* **A managed profile that doesn't set `bootstrapUrl`**: add the key to the profile that already holds your gateway settings. If you deploy the key in a profile without them, [the managed configuration takes effect](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#which-configuration-source-applies-on-a-device) and Claude Desktop ignores gateway settings made in the in-app configuration window.
666* **A [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md) that you host**: return the key in the response.
667* **The [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md#apply-locally-or-export-for-a-fleet)**: turn off the **Server-side Auto mode checks** toggle under **Connection**. The window stores the toggle only after you change it, so if the toggle already shows off, turn it on and then off. Then use the **Export** menu for a profile to deploy, or click **Apply Changes** on a device that takes its settings from the window.
668* **The [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md#configure-claude-desktop)**: open **Organization settings** and go to the **Connection** page under **Desktop 3P**. If the **Server-side Auto mode checks** switch is off and its row shows **Reset to default**, the console already stores the setting as off. Otherwise, turn off the switch, or turn it on and then off if it already shows off. Then click **Save changes**.
669 
670The change takes effect once each user [relaunches Claude Desktop](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#when-a-configuration-change-on-a-device-takes-effect). To confirm it on a device, go to **Help > Troubleshooting > Generate Diagnostic Report** after the relaunch and select **Export to file**. In the exported report, `managed-config.txt` lists `inferenceGatewayAutoModeServerChecks = false`.
671 
556672## Block requests at a spend limit
557673 
558674To show users your own message when your gateway blocks them at a budget or spend limit, return HTTP `402` with the message in a [Messages API error body](https://platform.claude.com/docs/en/api/errors#error-shapes):
from line 736
620736> [!NOTE]
621737>
622738> Google Workspace can be used as the identity provider, but in the default `id_token` mode Google does not issue a fresh ID token on background refresh, so users are prompted to sign in again roughly once an hour. Setting `bearerTokenType` to `access_token` avoids this. Entra ID and Okta are not affected in either mode.
739 
740**`Auto mode is unavailable`, after actions that read `Blocked` or `Failed`.** With **Server-side Auto mode checks** on, the session can't read the verdicts. An error card follows, titled `Claude couldn’t process that message` in Code and `Something went wrong` in Cowork, and its **Try again** button doesn't help. Follow the `server_unrecognized_result` row under [Auto mode check results in the diagnostic report](#auto-mode-check-results-in-the-diagnostic-report). If Code shows `Connection problem` cards instead, the responses end before the verdicts arrive. See the streaming requirement in [Context window and compaction](#context-window-and-compaction).
741 
742**Every Auto mode turn fails after you turn on Server-side Auto mode checks.** Your gateway rejects requests that ask for the [Auto mode review](#auto-mode-checks), with an error such as `401` or `500`. After a `500`, or a `401` where users sign in through an identity provider, the session first retries for several minutes. Code then shows `Server error` or `Authentication failed`, and neither message names Auto mode or the setting.
743 
744Until the gateway meets [the requirements](#gateway-requirements-for-auto-mode-checks), either of these stops the failures:
745 
746* Set `inferenceGatewayAutoModeServerChecks` to `false`, as described in [Turn off server-side Auto mode checks](#turn-off-server-side-auto-mode-checks). The change takes effect once each user [relaunches Claude Desktop](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#when-a-configuration-change-on-a-device-takes-effect).
747* Have users start new sessions in **Manual** mode, which Cowork shows as **Manually approve**. If turns fail in those sessions too, the review isn't the cause.
623748 
624749**Model picker is empty or missing models.** Check your gateway's `GET /v1/models` response and your `inferenceModels` list (see [Models](#models)). When `/v1/models` is unreachable or returns an error, the picker falls back to the `inferenceModels` list; if that list is empty, so is the picker.
625750 

third-party/claude-desktop/mantle Changed · +8 / -8 lines

from line 59
5959 
6060string
6161 
62Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
62Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
6363 
6464Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
6565 
from line 91
9191 
9292string
9393 
94Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
94Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
9595 
9696Since 1.6259.0
9797 
from line 103
103103 
104104string
105105 
106Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
106Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
107107 
108108Since 1.6259.0
109109 
from line 115
115115 
116116string
117117 
118Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
118Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
119119 
120120Since 1.6259.0
121121 
from line 127
127127 
128128string
129129 
130Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
130Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
131131 
132132Since 1.6259.0
133133 
from line 139
139139 
140140string
141141 
142Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
142Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
143143 
144144Since 1.2581.0
145145 
from line 151
151151 
152152string
153153 
154Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
154Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
155155 
156156Since 1.2581.0
157157 
from line 163
163163 
164164string
165165 
166Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
166Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
167167 
168168Since 1.13576.0
169169 

third-party/claude-desktop/mdm Changed · +16 / -1 lines

### Restrict a device to one deployment mode

from line 129
129129 
130130When a managed source sets any key other than the [app-behavior keys](#update-keys-and-managed-precedence) listed below, the managed configuration takes effect, the in-app configuration window becomes read-only, and locally authored values in `configLibrary/` are ignored.
131131 
132A user who signs in to any organization that uses the [Enterprise Admin Console](https://claude.com/docs/third-party/claude-desktop/admin-console.md) can move the device to that organization's configuration. To prevent that, set [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) to `true`, as described under [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). To allow the move only to your organization, set [`forceLoginOrgUUID`](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile) instead.
132### Restrict a device to one deployment mode
133 
134Claude Desktop on 3P runs on the inference provider or bootstrap server in your configuration. In standard Claude Desktop, users sign in to claude.ai. To stop users from switching a device between the two, set [`deploymentMode`](https://claude.com/docs/third-party/claude-desktop/configuration#deploymentmode) in the managed source:
135 
136* **`3p`**: the app uses the connection that the managed source sets, such as an inference provider or bootstrap keys. The sign-in screen doesn't offer **Or sign in with Claude.ai**. With nothing to connect to in the same managed source, the app opens standard Claude Desktop, so set a connection there to keep users from signing in to claude.ai.
137* **`1p`**: the app always runs as standard Claude Desktop and ignores inference provider and bootstrap keys.
138* **`any`**: the same as leaving the key unset.
139 
140With `3p` or `1p`, a user can't [move the device to an Enterprise Admin Console organization](https://claude.com/docs/third-party/claude-desktop/admin-console.md#keep-a-device-on-its-managed-profile), and the app doesn't offer or accept the [Claude API account sign-in](https://claude.com/docs/third-party/claude-desktop/claude-api.md#which-devices-offer-the-claude-api-account-sign-in). To allow the move only to your organization, set [`forceLoginOrgUUID`](https://claude.com/docs/third-party/claude-desktop/admin-console#keep-a-device-on-its-managed-profile) instead. The app ignores `deploymentMode` in a bootstrap response. It treats a misspelled value as `3p`.
141 
142`deploymentMode` requires Claude Desktop 4.16336.0 or later. Earlier versions read [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser), and later ones still read it, so an existing profile works as before. On a device without a bootstrap server, `disableDeploymentModeChooser` set to `true` in a managed source does what `3p` does, unless `deploymentMode` is `1p`. On a device with a bootstrap server, the response replaces the profile's `disableDeploymentModeChooser`, so set `deploymentMode` to `3p` in the profile to restrict that device.
143 
144While a fleet updates to 4.16336.0, plan for these cases:
145 
146* **A profile that gains `3p`, or gains `1p` and sets nothing to connect to**: also set `disableDeploymentModeChooser` to `true` until every device has updated. On a device with a bootstrap server, set it in the response too. If a profile that you export from the [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md) doesn't set `disableDeploymentModeChooser` to `true`, add the key to the exported file.
147* **[The Linux file](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#the-linux-configuration-file)**: versions before 4.16336.0 treat a key that they don't recognize as an error in `managed-settings.json`, so add `deploymentMode` to a device's file after that device updates.
133148 
134149### Update keys and managed precedence
135150 

third-party/claude-desktop/move-to-claude-enterprise Changed · +3 / -3 lines

from line 67
6767 
6868Choose one option for the keys that connect Claude to your cloud provider, such as keys that start with `inference` or `bootstrap`:
6969 
70* **To move everyone to Claude Enterprise**, remove those keys. Also remove [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) and [`deploymentOrganizationUuid`](https://claude.com/docs/third-party/claude-desktop/configuration#deploymentorganizationuuid). If your settings come from a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), copy the keys you want to keep into the policy or profile itself.
71* **To let each user switch between your cloud provider and Claude Enterprise**, keep those keys and `deploymentOrganizationUuid`. They must be in the same `HKEY_LOCAL_MACHINE` policy or configuration profile as `importThirdPartyHistoryIntoOrgUUID`, because on Windows Claude [reads one policy location](https://claude.com/docs/third-party/claude-desktop/mdm.md#4-deploy-the-configuration). Make sure [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) isn't set in the policy or profile, or by your bootstrap server. Claude's welcome screen then offers **Or sign in with Claude.ai**. Your cloud provider settings still apply while a user works with your cloud provider.
70* **To move everyone to Claude Enterprise**, remove those keys. Also remove [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser), [`deploymentMode`](https://claude.com/docs/third-party/claude-desktop/mdm#restrict-a-device-to-one-deployment-mode), and [`deploymentOrganizationUuid`](https://claude.com/docs/third-party/claude-desktop/configuration#deploymentorganizationuuid). If your settings come from a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), copy the keys you want to keep into the policy or profile itself.
71* **To let each user switch between your cloud provider and Claude Enterprise**, keep those keys and `deploymentOrganizationUuid`. They must be in the same `HKEY_LOCAL_MACHINE` policy or configuration profile as `importThirdPartyHistoryIntoOrgUUID`, because on Windows Claude [reads one policy location](https://claude.com/docs/third-party/claude-desktop/mdm.md#4-deploy-the-configuration). Make sure [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) isn't set in the policy or profile, or by your bootstrap server, and that [`deploymentMode`](https://claude.com/docs/third-party/claude-desktop/mdm#restrict-a-device-to-one-deployment-mode) is unset or `any`. Claude's welcome screen then offers **Or sign in with Claude.ai**. Your cloud provider settings still apply while a user works with your cloud provider.
7272 
7373Leave other keys in place. In Claude Enterprise, the desktop extensions feature is on unless [`isDesktopExtensionEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#isdesktopextensionenabled) is set to `false`.
7474 
from line 109
109109* `importThirdPartyHistoryIntoOrgUUID` didn't arrive as a device policy.
110110* Claude opened with your cloud provider instead of asking the user to sign in to Claude Enterprise. If you removed the cloud provider keys, one remains. If you kept them, the user didn't click **Or sign in with Claude.ai** yet.
111111* The user signed in to another organization.
112* If you kept the cloud provider keys and the welcome screen doesn't show **Or sign in with Claude.ai**, `disableDeploymentModeChooser` is still set. Remove it from the policy or profile, or from what your bootstrap server returns.
112* If you kept the cloud provider keys and the welcome screen doesn't show **Or sign in with Claude.ai**, `disableDeploymentModeChooser` is still set or `deploymentMode` is `3p`. Remove both keys from the policy or profile, and `disableDeploymentModeChooser` from what your bootstrap server returns.
113113 
114114## Steps for each user
115115 

third-party/claude-desktop/vertex Changed · +7 / -7 lines

from line 258
258258 
259259string
260260 
261Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
261Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
262262 
263263Since 1.2581.0
264264 
from line 278
278278 
279279string
280280 
281Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
281Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
282282 
283283Origin-pinned (A URL that a bootstrap server delivers must share the origin of bootstrapUrl, or Claude Desktop drops it. The limit is lifted when bootstrapOidc is set, and it does not apply to a value set in an MDM profile, the local configuration file or the Enterprise Admin Console.)
284284 
from line 292
292292 
293293string
294294 
295Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
295Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
296296 
297297Since 1.2581.0
298298 
from line 328
328328 
329329string
330330 
331Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
331Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
332332 
333333Since 1.10628.0
334334 
from line 340
340340 
341341string
342342 
343Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
343Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
344344 
345345Since 1.10628.0
346346 
from line 369
369369 
370370object
371371 
372Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
372Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
373373 
374374Since 1.10628.0
375375 
from line 425
425425 
426426string
427427 
428Consent required (A value that a bootstrap server or a self-hosted session host delivers applies only after the user approves it, unless machine-scoped device management set that server's address. For a bootstrap server, the trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
428Consent required (A value that a bootstrap server delivers applies only after the user approves it, unless machine-scoped device management set that server's address. The trustBootstrapDelivery key overrides that default. A value set in an MDM profile, the local configuration file or the Enterprise Admin Console needs no approval.)
429429 
430430Since 1.2581.0
431431 

cowork/guide/projects Changed · +2 / -0 lines

from line 49
4949 
5050When you drag files or folders into a project, individual files are copied into the project's first folder and folders are mounted as additional project folders. A copied file never replaces a file that is already in that folder. A file or folder that is already inside one of the project's folders stays where it is and isn't copied or mounted. If the first folder already has a file with the same name, the copy is saved with a number added to its name, such as `notes (1).txt` for `notes.txt`. If that name and every numbered name up to `notes (19).txt` are already taken, the file isn't copied. Claude reads individual files up to 50 MB.
5151 
52Cowork asks for your permission each time you open a Microsoft Office or OpenDocument file that can contain macros, such as a `.docm`, `.xls`, or `.odt` file.
53 
5254## Cowork projects and claude.ai projects
5355 
5456A Cowork project is not the same thing as a project on claude.ai. They're stored separately and have different capabilities.

third-party/claude-desktop/claude-api Changed · +2 / -0 lines

from line 22
2222 
2323Claude Desktop doesn't offer or accept that sign-in on a device where an [MDM profile or registry policy](https://claude.com/docs/third-party/claude-desktop/mdm.md#4-deploy-the-configuration), or the [root-owned configuration file on Linux](https://claude.com/docs/third-party/claude-desktop/configuration-format.md#the-linux-configuration-file), manages the configuration. To confirm that a profile manages a device's configuration, check that the [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md#open-the-configuration-window) (**Developer > Configure Third-Party Inference…**) opens read-only on that device. If the window is still editable, the profile doesn't manage the configuration, for example because it sets only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence). A profile takes effect at the app's next launch, and until then a running app can still offer and accept the sign-in.
2424 
25On Claude Desktop 4.16336.0 or later, to stop the sign-in on devices that use standard Claude Desktop, set `deploymentMode` to `1p` in a managed profile, as described under [Restrict a device to one deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode).
26 
2527Under a profile that manages the configuration, the app ignores any configuration that an earlier Claude API account sign-in saved. A profile can itself select the Claude API with no static key or credential helper. Users then sign in with **Sign in with Claude Console**, and each selects the Console organization that their usage is billed to, as described under [Choose an authentication approach](#choose-an-authentication-approach). A user who already signed in with Claude Console keeps that sign-in, and the Console organization they chose, until the app next asks them to sign in.
2628 
2729## Configure the app

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

from line 117
117117 
118118### What an MDM profile does alongside the Enterprise Admin Console
119119 
120* **`disableDeploymentModeChooser` set to `true`**: the device stays on the profile's configuration and ignores the console. A device that already moved returns to the profile at its next launch.
120* **A key that [restricts the deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode)**: the app ignores the console. A device that already moved leaves the console's configuration at its next launch.
121121* **Only [app-behavior keys](https://claude.com/docs/third-party/claude-desktop/mdm.md#update-keys-and-managed-precedence)**: the profile's values apply instead of the console's for all of those keys. Any of those keys that the profile leaves out runs its default.
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 

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

from line 116
116116 
117117### Cowork workspace or Claude CLI fails to download
118118 
119Claude Desktop downloads the VM workspace bundle that Cowork uses and the Claude CLI binary (the agent helper described under [Endpoint security software](#endpoint-security-software)) from `downloads.claude.ai` whenever a device does not have the versions the app needs. When the workspace download fails or the downloaded file does not pass verification, the app shows **Failed to start Claude's workspace** with the download error under it, for example a message that begins "Claude's workspace download was not the expected file", "Claude's workspace download could not be unpacked on this computer", "Checksum mismatch", "Download failed", or "Request error". When the Claude CLI download fails on a device that has no earlier copy, Chat conversations and Cowork tasks fail to start with "Host Claude Code binary not available. Check that the download completed."
119Claude Desktop downloads the VM workspace bundle that Cowork uses and the Claude CLI binary (the agent helper described under [Endpoint security software](#endpoint-security-software)) from `downloads.claude.ai` whenever a device does not have the versions the app needs. When the workspace download fails or the downloaded file does not pass verification, the app shows **Couldn't download Claude's workspace** or **Failed to start Claude's workspace**, with the download error under it, for example a message that begins "Claude's workspace download was not the expected file", "Claude's workspace download could not be unpacked on this computer", "Checksum mismatch", "Download failed", or "Request error". When the Claude CLI download fails on a device that has no earlier copy, Chat conversations and Cowork tasks fail to start with "Host Claude Code binary not available. Check that the download completed."
120120 
121121Restarting the app tries the download again, which is enough when an earlier attempt was only interrupted. When the same message returns on every attempt, the usual cause is a proxy, secure web gateway, or web filter between the device and `downloads.claude.ai`. Such equipment can block the app's requests, cut off the transfer partway (the workspace bundle is more than 1 GB), or return its own page in place of the file. Less often, security software on the device locks or quarantines the downloaded files.
122122 

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

from line 37
3737* **Conversation content goes only to your configured endpoint.** The app sends prompts, responses, files, and tool outputs only to your configured inference endpoint and stores them only on the local machine. If you enable [SSH remote sessions](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md), Claude Code runs those sessions on a remote host, which also receives that content, sends it to your endpoint, and stores it. What happens to that content at the endpoint depends on the provider, as described under [Data handling by provider](#data-handling-by-provider).
3838* **Sandboxed tool execution.** In Cowork, shell commands run in the hardened Cowork VM; file access is scoped to your allowed folders and web fetches to your egress allowlist. For Code sessions, see [Applied as managed policy](https://claude.com/docs/third-party/claude-desktop/code.md#applied-as-managed-policy).
3939* **Auditable telemetry.** [Crash reports and product analytics](https://claude.com/docs/third-party/claude-desktop/telemetry.md#telemetry-categories) are scrubbed of conversation and user data before being sent to Anthropic, and can be fully disabled via configuration keys. Independently, you can export session activity to your own OpenTelemetry collector. The export is metadata only by default, with prompt and tool content available as an explicit opt-in. If you turn on [skill scanning](https://claude.com/docs/third-party/claude-desktop/extensions.md#skill-scanning), the export also carries records of scan results. A record's summary can quote the skill.
40* **Centrally managed.** Configuration is delivered through your existing MDM (Jamf, Intune, Workspace ONE, Group Policy), a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), or the [admin console](https://claude.com/docs/third-party/claude-desktop/admin-console.md). End users can't edit a configuration that MDM delivers. They can leave it for standard Claude Desktop by signing in to claude.ai. On Claude Desktop 2.37337.0 or later, a user who signs in to any organization that uses the admin console can move the device to that organization's configuration. To prevent both, set [`disableDeploymentModeChooser`](https://claude.com/docs/third-party/claude-desktop/configuration#disabledeploymentmodechooser) to `true` in the MDM profile, as described under [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).
40* **Centrally managed.** Configuration is delivered through your existing MDM (Jamf, Intune, Workspace ONE, Group Policy), a [bootstrap server](https://claude.com/docs/third-party/claude-desktop/bootstrap.md), or the [admin console](https://claude.com/docs/third-party/claude-desktop/admin-console.md). End users can't edit a configuration that MDM delivers. They can leave it for standard Claude Desktop by signing in to claude.ai. On Claude Desktop 2.37337.0 or later, a user who signs in to any organization that uses the admin console can move the device to that organization's configuration. To prevent both, restrict the device to Claude Desktop on 3P in the MDM profile, as described under [Restrict a device to one deployment mode](https://claude.com/docs/third-party/claude-desktop/mdm.md#restrict-a-device-to-one-deployment-mode).
4141 
4242For a detailed treatment of the threat model, sandbox boundaries, and data flows, request access to the [Claude Cowork Desktop Security Architecture Overview](https://trust.anthropic.com/resources?s=2a7bbzo1lyymvdt551q7kl\&name=claude-cowork-desktop-security-architecture-overview) on Anthropic's Trust Center. For architecture, telemetry, and controls information specific to Claude Desktop on 3P, see the [Claude Desktop Security Overview (Third-party platforms)](https://trust.anthropic.com/resources?s=0c8rx4s7mm5ierz8ppetfs\&name=claude-cowork-security-overview-\(third-party-platforms\)) on the Trust Center.
4343 

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

from line 257
257257| Host | Purpose |
258258| - | - |
259259| `claude.ai` | Analytics events |
260| `api.anthropic.com` | Claude Code usage telemetry |
260| `api.anthropic.com` | Claude Code usage telemetry and, on Gateway and Claude API only, Anthropic’s list of MCP servers, which Claude Code reads when it starts |
261261 
262262### Non-essential services (`disableNonessentialServices: false`)
263263 

third-party/claude-desktop/unified-claude Changed · +2 / -0 lines

from line 30
3030 
3131If you use [`chatSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#chatsessionretentiondays), set [`coworkSessionRetentionDays`](https://claude.com/docs/third-party/claude-desktop/configuration#coworksessionretentiondays) as well, before November 10, 2026, or earlier if you turn on Unified Claude yourself. `coworkSessionRetentionDays` covers new conversations that are Cowork sessions, along with users' other Cowork tasks, as described under [Automatic deletion of idle sessions](https://claude.com/docs/third-party/claude-desktop/data-storage.md#automatic-deletion-of-idle-sessions).
3232 
33With Unified Claude on, a device that can run Cowork needs the VM workspace bundle that Cowork uses. A device that doesn't have the bundle downloads it (more than 1 GB) from `downloads.claude.ai` when the user starts their first new conversation. If a proxy or firewall limits downloads on your network, make the changes under [Cowork workspace or Claude CLI fails to download](https://claude.com/docs/third-party/claude-desktop/installation.md#cowork-workspace-or-claude-cli-fails-to-download) before November 10, 2026, or earlier if you turn on Unified Claude yourself.
34 
3335To turn on Unified Claude yourself, use the setting for your deployment:
3436 
3537* **Enterprise Admin Console**: Go to Capabilities and toggle on "Opt into the new Chat and Cowork unified view."
Feedback