One read of Claude Documentationclaude-docs-20261027T170710Z
4 pages moved out of 280 read.
Pages moved
4
significant first
Pages read
280
in this capture
Captured
17:07 UTC
Corpus hash
3692fa7a701f
corpus-hash
What this read moved
1-4 of 4third-party/claude-desktop/data-storage Changed · +25 / -1 lines
### What a legal hold stops ## How users free up disk space
from line 94
9494
9595With [Unified Claude](https://claude.com/docs/third-party/claude-desktop/unified-claude.md) on, a conversation started from the home screen where Cowork is on and the device can run it is a Cowork session. `coworkSessionRetentionDays` covers it along with users' other Cowork tasks, and `chatSessionRetentionDays` still covers Chat conversations. While `coworkSessionRetentionDays` is unset, neither key deletes a home-screen conversation that is a Cowork session, even if `chatSessionRetentionDays` is set. If you use `chatSessionRetentionDays`, keep it and set `coworkSessionRetentionDays` as well.
9696
97The app deletes whole sessions in the background. A chat or Cowork task is deleted with its attached files and outputs, and a Code session with its conversation. Projects, memory, and the files in a Code session's working folder stay, and Code sessions on an SSH host are not affected. A session that is running or open on screen is skipped until a later pass. To suspend all automatic deletion for some users, for example under a legal hold, set [`sessionRetentionHold`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionretentionhold) to `true` for them. While the hold is on, nothing is deleted, and a device that gets its configuration from a server and cannot reach that server also deletes nothing. These keys require Claude Desktop 1.52386.0 or later.
97The app deletes whole sessions in the background. A chat or Cowork task is deleted with its attached files and outputs, and a Code session with its conversation. Projects, memory, and the files in a Code session's working folder stay, and Code sessions on an SSH host aren't affected. A session that is running or open on screen is skipped until a later pass.
98
99### What a legal hold stops
100
101To stop the [automatic deletion of idle sessions](#automatic-deletion-of-idle-sessions) for some users, for example under a legal hold, set [`sessionRetentionHold`](https://claude.com/docs/third-party/claude-desktop/configuration#sessionretentionhold) to `true` for them. While the hold is on, `chatSessionRetentionDays`, `coworkSessionRetentionDays`, and `codeSessionRetentionDays` delete nothing. They also delete nothing on a device that gets its configuration from a server and can't reach that server. All four keys require Claude Desktop 1.52386.0 or later.
102
103Other deletions continue, such as these:
104
105* **By users**: users can delete their own sessions, for example from the sidebar or in the [**Storage** window](#how-users-free-up-disk-space)
106* **By Claude Code**: [Claude Code's own cleanup](https://code.claude.com/docs/en/claude-directory#cleaned-up-automatically) deletes some of its older files, such as checkpoints and large tool outputs. If [Claude Code managed settings](https://code.claude.com/docs/en/managed-settings) set `cleanupPeriodDays`, it also deletes Code session conversations older than that number of days.
107
108## How users free up disk space
109
110The **Storage** window shows how much disk space Claude uses on the device. To open it, users go to **Settings > This computer > System** and click **Manage** next to **Storage**. They can also enter `/storage` in the message box in Chat, Cowork, or Code. The window requires Claude Desktop 3.6556.1 or later.
111
112In the window, users can clean up their own inactive sessions on the device, except pinned ones:
113
114* **Chats and Cowork tasks**: the app deletes them, including runs of scheduled tasks. It also deletes their outputs and their copies of attached files in the [application-data directory](#where-data-lives). Files outside that directory stay, such as files in `~/Claude/` or in folders that the user connected.
115* **Code sessions**: the app removes their [Git worktrees](https://code.claude.com/docs/en/worktrees) and, if the user chooses, deletes the sessions with their conversations
116
117Users can't undo these deletions.
118
119When the disk that holds the application-data directory has less than 10 GB free, the app shows a **Low disk space** notice. Users can click **Manage storage** in the notice to open the **Storage** window.
120
121You can't hide the **Storage** window or the **Low disk space** notice with a configuration key.
98122
99123## Move a user to a new device
100124
third-party/claude-desktop/models Changed · +28 / -4 lines
### Map an unrecognized model ID to a Claude model ### Models without an Effort control
from line 10
1010
1111If you leave `inferenceModels` unset and your provider supports [model discovery](https://claude.com/docs/third-party/claude-desktop/configuration.md#modeldiscoveryenabled), Claude Desktop fills the picker from the provider's model list at launch. The first discovered model is then the default model.
1212
13Each entry is either a model ID string or an object. In an object, `name` holds the model ID and every other field is optional. Three of the optional fields change how the picker shows the model:
13Each entry is either a model ID string or an object. In an object, `name` holds the model ID and every other field is optional. These optional fields change how the picker shows the model:
1414
1515* `labelOverride` sets the display name for an ID the picker can't turn into a readable name, such as a gateway routing alias or an Amazon Bedrock application inference profile ARN. Claude Desktop still sends `name` to your provider.
1616* `supports1m: true` adds a second entry that shows the same name with **1M context window** beneath it. Set it only when your deployment accepts 1M-token requests for that model. Otherwise, requests from the 1M entry fail at the provider.
1717* `prefer1m: true`, with `supports1m: true`, shows the model as one entry. New conversations with it use the 1M context window. To do this for every entry that sets `supports1m`, set [`modelPrefer1mContext`](https://claude.com/docs/third-party/claude-desktop/configuration#modelprefer1mcontext) to `true`. When discovery fills the picker from a gateway, that key applies to every model the gateway [marks as supporting 1M](https://claude.com/docs/third-party/claude-desktop/gateway.md#models).
18* `behavesAs` names the Claude model behind an ID that Claude Desktop can't identify, such as a gateway routing alias. The picker then shows that model's **Effort** control. See [Map an unrecognized model ID to a Claude model](#map-an-unrecognized-model-id-to-a-claude-model).
1819
1920On any provider, a Chat conversation, Cowork session, or Code session on an entry without `supports1m` assumes a context window from the model ID:
2021
2122* **An ID recognized as a model with a native 1M context window**, such as `us.anthropic.claude-opus-5`: you don't need `supports1m` or `prefer1m`. Setting them doesn't change the assumed window. For earlier Claude Desktop versions, see [Context window and compaction](https://claude.com/docs/third-party/claude-desktop/gateway.md#context-window-and-compaction) on the LLM gateway page. To check a model, see [Extended context](https://code.claude.com/docs/en/model-config#extended-context) in the Claude Code documentation, which lists the models that run with the 1M window by default.
22* **An ID for a model without a native 1M context window, or an unrecognized ID**, such as `us.anthropic.claude-opus-4-6-v1` or a gateway routing alias: the assumed window is 200K tokens. If your deployment accepts 1M-token requests for the model, set `supports1m` on its entry.
23* **An ID for a model without a native 1M context window, or an unrecognized ID whose entry doesn't set `behavesAs`**, such as `us.anthropic.claude-opus-4-6-v1` or a gateway routing alias: the assumed window is 200K tokens. If your deployment accepts 1M-token requests for the model, set `supports1m` on its entry.
24* **An unrecognized ID whose entry sets [`behavesAs`](#map-an-unrecognized-model-id-to-a-claude-model)**, through an LLM gateway: the assumed window is the window of the model that `behavesAs` names.
2325
2426## Effort levels
2527
from line 41
3941
4042`defaultModelEffort` also applies when [model discovery](https://claude.com/docs/third-party/claude-desktop/configuration.md#modeldiscoveryenabled) fills the picker instead of an `inferenceModels` list.
4143
42### Models without an Effort control
44### Map an unrecognized model ID to a Claude model
4345
44Some model IDs, such as a gateway routing alias, don't name a specific Claude model. For such a model, the picker shows no **Effort** control, so users can't change its effort level. Its conversations and sessions never run above the `maxEffort` on its entry. When such a model is the default model, its conversations and sessions run at [`defaultModelEffort`](https://claude.com/docs/third-party/claude-desktop/configuration#defaultmodeleffort), up to that cap. With only `maxEffort` set, they run at that cap.
46Some model IDs, such as a gateway routing alias, don't name a specific Claude model, so the picker shows no **Effort** control for them. To give such an ID the controls of the Claude model behind it, set [`behavesAs`](https://claude.com/docs/third-party/claude-desktop/configuration#inferencemodels) on its `inferenceModels` entry to that model's ID. In the [in-app configuration window](https://claude.com/docs/third-party/claude-desktop/in-app-configuration.md), enter that ID in the model's **Claude model behind this ID** field. Requires Claude Desktop 4.29.0 or later.
47
48```json theme={null}
49{
50 "inferenceModels": [
51 {
52 "name": "acme-claude-sonnet",
53 "behavesAs": "claude-sonnet-5"
54 }
55 ]
56}
57```
58
59With this entry, the picker shows `acme-claude-sonnet` with the controls of Claude Sonnet 5: its effort levels in Chat, Cowork, and Code, and its **Thinking** switch in Chat and Cowork. The model starts at Claude Sonnet 5's recommended level, and `defaultModelEffort` and `maxEffort` still apply. Claude Desktop still sends `name` to your provider. Through an LLM gateway, sessions also assume Claude Sonnet 5's [context window](https://claude.com/docs/third-party/claude-desktop/gateway.md#context-window-and-compaction).
60
61If the ID contains a Claude model version, write the version with hyphens and set `behavesAs` to that same model. Whatever `behavesAs` says, sessions treat `acme-claude-sonnet-4.6` as Claude Sonnet 4 and send no effort level, but treat `acme-claude-sonnet-4-6` as Claude Sonnet 4.6. If the ID routes to a different model, use an ID without a version.
62
63To check a value, go to **Help > Troubleshooting > Generate Diagnostic Report**, click **Export to file**, and open the saved `.zip` file:
64
65* **`model-selection.txt`**: the entry's `behavesAs` line says whether the picker uses the value. `(the picker offers that model's options)` means it does.
66* **`managed-config.txt`**: `behavesAs dropped: not an accepted value` under `Parse errors` means the value isn't a model ID. Enter a full ID such as `claude-sonnet-5`, not a family name such as `sonnet`.
67
68Without `behavesAs`, users can't change an unrecognized model's effort level. Its conversations and sessions never run above the `maxEffort` on its entry. When it's the default model, they run at [`defaultModelEffort`](https://claude.com/docs/third-party/claude-desktop/configuration#defaultmodeleffort), up to that cap. With only `maxEffort` set, they run at that cap.
4569
4670## Start every conversation on the default model
4771
third-party/claude-desktop/move-to-claude-enterprise Changed · +33 / -12 lines
### Nothing migrated
from line 2
22
33> Migrate Claude Desktop from a cloud provider such as Amazon Bedrock to Claude Enterprise and keep each user's local chats, sessions, projects, tasks, and skills
44
5Move Claude Desktop from your cloud provider, where the app is named Claude (third-party), to Claude Enterprise. After one configuration change, each user's work migrates when they sign in on the same computer.
5Move Claude Desktop from your cloud provider, where the app is named Claude (third-party), to Claude Enterprise. After one configuration change, each user's work migrates when they sign in to Claude Enterprise on the same computer. You choose one option: move everyone to Claude Enterprise, or let each user switch between your cloud provider and Claude Enterprise at sign-in.
66
7
7
88
99## What is migrated
1010
from line 37
3737
3838## Before you begin
3939
401. **Update first.** Update every computer to Claude Desktop 3.1623.0 or later before the configuration change. The migration runs on the version installed when the change arrives. A computer that migrated on an earlier release adds plugin marketplaces after it updates, if `importThirdPartyHistoryIntoOrgUUID` is still deployed, but doesn't add folders to the sessions and projects it already migrated.
401. **Update first.** Update every computer to Claude Desktop 3.1623.0 or later before the configuration change. Each user's work migrates on the version installed when they first open Claude Enterprise after the change. A computer that migrated on an earlier release adds plugin marketplaces after it updates, if `importThirdPartyHistoryIntoOrgUUID` is still deployed, but doesn't add folders to the sessions and projects it already migrated.
41412. **Turn on the skills settings.** In [**Organization settings > Plugins & skills > Policy**](https://claude.ai/admin-settings/skills?tab=policy), turn on **User-created skills** and **Skill and plugin security scanning**. For custom roles, also give them the skills permissions in [**Organization settings > Roles**](https://claude.ai/admin-settings/roles). Skills need both settings. Plugins and plugin marketplaces need only **User-created skills**.
42423. **Replace the controls** listed in [What changes for your security controls](#what-changes-for-your-security-controls).
4343
from line 49
4949
5050## What changes for your security controls
5151
52After the change, most of your cloud provider settings in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) stop working without warning, even if their keys stay deployed, including permission, plugin, and browser limits. Set up replacements first:
52While a user works in Claude Enterprise, most of your cloud provider settings in the [configuration reference](https://claude.com/docs/third-party/claude-desktop/configuration.md) don't apply to them, including permission, plugin, and browser limits. Claude shows no warning, even if the keys stay deployed. Set up replacements first:
5353
5454* Cowork's telemetry and network egress: your organization settings.
5555* Code sessions' telemetry, SSH host limits (any host is allowed until you set a list), and session retention (`cleanupPeriodDays`): Claude Code's managed settings.
from line 59
5959
6060## Migrate your fleet
6161
62Remove the old keys and set the new one in one change to the policy or profile that carries your Claude settings: an `HKEY_LOCAL_MACHINE` policy on Windows (not `HKEY_CURRENT_USER`), or a [configuration profile](https://claude.com/docs/third-party/claude-desktop/mdm.md) on macOS.
62Make one change to the policy or profile that carries your Claude settings: an `HKEY_LOCAL_MACHINE` policy on Windows (not `HKEY_CURRENT_USER`), or a [configuration profile](https://claude.com/docs/third-party/claude-desktop/mdm.md) on macOS.
6363
64**1. Remove the cloud provider keys**
64**1. Remove or keep the cloud provider keys**
6565
66Remove every key that puts the app in third-party mode, such as those that start with `inference` or `bootstrap`. 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). Leave other keys in place. 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.
66Choose one option for the keys that connect Claude to your cloud provider, such as keys that start with `inference` or `bootstrap`:
6767
68The desktop extensions feature is on after the change unless [`isDesktopExtensionEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#isdesktopextensionenabled) is set to `false`.
68* **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.
69* **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.
6970
71Leave 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`.
72
7073**2. Set your organization ID**
7174
72Copy the **Organization ID** from [**Organization settings > Organization and access**](https://claude.ai/admin-settings/organization). Set `importThirdPartyHistoryIntoOrgUUID` to this ID, without braces or quotation marks. To keep Claude on these computers from using another organization or a personal account, where nothing migrates, you can also set `forceLoginOrgUUID` to the same ID. The app then blocks accounts that aren't in that organization.
75For either option, copy the **Organization ID** from [**Organization settings > Organization and access**](https://claude.ai/admin-settings/organization). Set `importThirdPartyHistoryIntoOrgUUID` to this ID, without braces or quotation marks. To keep Claude on these computers from using another organization or a personal account, where nothing migrates, you can also set `forceLoginOrgUUID` to the same ID. The app then blocks Claude accounts that aren't in that organization.
7376
7477On Windows, in an elevated PowerShell window:
7578
from line 96
9396
9497Deploy to a few computers on each operating system, then to the rest. Send users the [steps for each user](#steps-for-each-user).
9598
96Afterward, keep `importThirdPartyHistoryIntoOrgUUID` deployed and keep the Claude (third-party) data. **Settings > Import** needs both. To roll back, restore your earlier configuration. Work done after the migration stays in Claude Enterprise and doesn't appear in Claude (third-party).
99Afterward, keep `importThirdPartyHistoryIntoOrgUUID` deployed and keep the Claude (third-party) data. **Settings > Import** needs both. Work done in Claude Enterprise stays there and doesn't appear in Claude (third-party).
97100
98If nothing migrates, Claude shows no error on screen. Check that the key arrived as a device policy, that no third-party key remains, and that the user signed in to this organization. The app's `main.log` usually gives the reason.
101To roll everyone back, restore your earlier configuration. If users could switch, also set `disableDeploymentModeChooser` to `true` in the policy or profile. Claude then opens with your cloud provider for everyone.
99102
103### Nothing migrated
104
105Claude shows no error on screen when nothing migrates. The app's `main.log` usually gives the reason. Check for each of these causes:
106
107* `importThirdPartyHistoryIntoOrgUUID` didn't arrive as a device policy.
108* 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.
109* The user signed in to another organization.
110* 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.
111
100112## Steps for each user
101113
102Quit Claude fully, including from the menu bar or system tray, open it again, and sign in to your company's Claude Enterprise organization with the same Windows or macOS account as before. Your chats (now in Cowork), sessions, projects, and scheduled tasks appear, and your Claude (third-party) work isn't changed. On a Mac, allow access to Documents if macOS asks, so that scheduled tasks can migrate. Then:
1141. Quit Claude fully, including from the menu bar or system tray. Then open it again.
1152. If Claude opens as before instead of asking you to sign in to Claude Enterprise, choose **Sign out** from the account menu. Then, on the welcome screen, click **Or sign in with Claude.ai**. Claude restarts.
1163. Sign in to your company's Claude Enterprise organization on this computer, in the same Windows or macOS user account as before. If macOS asks for access to Documents, allow it, so that scheduled tasks can migrate.
103117
118Your chats (now in Cowork), sessions, projects, and scheduled tasks appear. Your Claude (third-party) work doesn't change. Then:
119
104120* If a scheduled task asks to use a tool, choose **Allow for all scheduled runs**.
105121* In **Settings > Import**, click **Add instructions** for each set of instructions listed, and **Import…** if a skill is missing from **Customize > Skills**.
106122* Set up remote connectors and any missing plugin marketplaces again, install the plugins you want in **Customize > Plugins**, and add any keys or sign-ins your plugins and extensions need.
123
124If your IT team kept your cloud provider available, you can switch between it and Claude Enterprise:
125
126* **To go back to your cloud provider**, choose **Log out** from the account menu, then quit Claude and open it again. Claude opens with your cloud provider whenever you start it while logged out of Claude Enterprise. Sign in to your cloud provider again if Claude asks. Your Claude Enterprise work is kept for when you return.
127* **To return to Claude Enterprise**, choose **Sign out** from the account menu. Then click **Or sign in with Claude.ai** on the welcome screen. Claude restarts. Sign in, and your work is where you left it. Projects and scheduled tasks that you created with your cloud provider also appear. To add chats and sessions that you started with your cloud provider, click **Import…** in **Settings > Import**.
107128
108129> [!WARNING]
109130>
third-party/claude-desktop/gateway Changed · +3 / -1 lines
from line 499
499499
500500When `inferenceModels` is unset, Claude Desktop on 3P populates the model picker from your gateway's `GET /v1/models` response. Auto-discovery shows only models whose IDs are recognizably Claude. Set [`inferenceModels`](https://claude.com/docs/third-party/claude-desktop/configuration#models) to replace discovery with an explicit list. Use the model IDs your gateway expects (for example `bedrock/us.anthropic.claude-opus-5` for a LiteLLM-style routing prefix).
501501
502If your gateway serves Claude models under routing aliases, list each alias in `inferenceModels` and set `behavesAs` on its entry to the ID of the Claude model it routes to, such as `claude-sonnet-5`. For an alias without a model version, users then get that model's **Effort** control, and sessions assume that model's context window. Requires Claude Desktop 4.29.0 or later. For an alias that contains a model version, see [Map an unrecognized model ID to a Claude model](https://claude.com/docs/third-party/claude-desktop/models.md#map-an-unrecognized-model-id-to-a-claude-model).
503
502504Your gateway can mark which Claude tier a model serves by returning an `anthropic_family_tier` field (a tier name such as `sonnet` or `opus`) on that model object in its `/v1/models` response, optionally with `is_family_default: true` when several models map to the same tier. The app uses the marked model when it needs that tier, for example to resolve a bare `sonnet` alias. The app also reads other optional fields on each model object. `display_name` sets the picker label when the app cannot derive one from the model ID. `description` adds a one-line description beneath the label (Claude Desktop 1.49585.0 or later). `supports_1m: true`, or a `max_input_tokens` value of 1,000,000 or more, marks a discovered model as supporting the 1M-token context window, as `supports1m` does on an `inferenceModels` entry.
503505
504506If your gateway does not implement `GET /v1/models`, give every `inferenceModels` entry the full model ID your gateway accepts; bare tier aliases such as `sonnet` rely on discovery to resolve. When every entry is a full model ID, the app skips the `/v1/models` call automatically. A list that contains a bare alias keeps discovery on, so for a gateway without the endpoint, replace the alias with the full model ID; a bare alias cannot be resolved without discovery. On earlier app versions that do not skip the call automatically, also set [`modelDiscoveryEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#modeldiscoveryenabled) to `false` to avoid the discovery attempt. The cost of leaving discovery on without the endpoint depends on how the gateway fails: an error response makes the app fall back to the `inferenceModels` list immediately, while an endpoint that accepts the request and hangs delays the model list by up to 10 seconds at launch.
from line 519
517519
518520Cowork and Code sessions keep a long conversation within the model's context window by compacting it. To compact, the session sends one request that asks the model to summarize the conversation so far, then continues from the summary. Through a gateway, a session can't read the model's real context window from the provider, so it assumes one from the model ID and the picker entry:
519521
520* **Standard entry**: 1M tokens for a model the session recognizes as having a native 1M context window, as listed under [the context window behind a gateway](https://code.claude.com/docs/en/model-config#context-window-behind-a-gateway) in the Claude Code documentation, and 200K tokens for every other model ID, including IDs the session doesn't recognize. On Claude Desktop versions earlier than 2.19675.0, a session assumes 200K tokens on this entry for every model.
522* **Standard entry**: 1M tokens for a model the session recognizes as having a native 1M context window, as listed under [the context window behind a gateway](https://code.claude.com/docs/en/model-config#context-window-behind-a-gateway) in the Claude Code documentation, and 200K tokens for every other model ID, including an ID the session doesn't recognize whose `inferenceModels` entry doesn't set [`behavesAs`](https://claude.com/docs/third-party/claude-desktop/models#map-an-unrecognized-model-id-to-a-claude-model). On Claude Desktop versions earlier than 2.19675.0, a session assumes 200K tokens on this entry for every model.
521523* **1M context window entry**, or the single entry from `prefer1m` or `modelPrefer1mContext`: 1M tokens, regardless of the model ID.
522524
523525If the gateway or the provider accepts less than the window a session assumes, requests past that limit fail. The session then compacts and retries only when the provider's too-long error reaches it unchanged. To make sessions compact earlier than the window they assume, for example when your provider serves a natively 1M model with only a 200K window, see [Set the auto-compact window](https://code.claude.com/docs/en/model-config#set-the-auto-compact-window) in the Claude Code documentation. For a model ID the session doesn't recognize, see [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/en/model-config#correct-the-window-for-a-gateway-or-custom-model-id).