Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

All settings changedsettings-reference

Nearest release: v2.1.243, published under an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+53added
Lines−2removed
From line 677 where the diff opens
First seen 21 Aug 2026 this site's first read of the page
Recorded edits143to this page, all time

### `modelPicker` #### Fields for `modelPicker`

The whole hunk

from line 677, old and new numbered
/
lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 677
677677| [`minimumVersion`](#minimumversion) | Keep [auto-updates](/docs/en/setup#pin-a-minimum-version) from installing anything below a version | Updates and versioning | Any file |
678678| [`model`](#model) | Change the [model](/docs/en/model-config#set-a-default-model-for-new-sessions) Claude Code starts with | Model and responses | Any file |
679679| [`modelOverrides`](#modeloverrides) | [Map model IDs](/docs/en/model-config#override-model-ids-per-version) to your provider's IDs, such as Bedrock ARNs | Model and responses | Any file |
680| [`modelPicker`](#modelpicker) | Choose which models the [`/model` picker](/docs/en/model-config#available-models) lists, in your own order and with your own labels | Model and responses | User or managed |
680681| [`otelHeadersHelper`](#otelheadershelper) | Generate rotating [OpenTelemetry](/docs/en/monitoring-usage#dynamic-headers) headers with your own command | Authentication and providers | Any file |
681682| [`outputStyle`](#outputstyle) | Change Claude's role, tone, and output format with an [output style](/docs/en/output-styles) | Model and responses | Any file |
682683| [`parentSettingsBehavior`](#parentsettingsbehavior) | Apply or drop restrictions an [SDK or IDE host](/docs/en/managed-settings#let-an-embedding-host-add-policy) passes when you deploy [managed settings](/docs/en/managed-settings) | Enterprise and managed settings | Managed |
from line 1008
10071008 
10081009See [Override model IDs per version](/docs/en/model-config#override-model-ids-per-version).
10091010 
1011### `modelPicker`
1012 
1013List the models the `/model` picker offers, in the order you write them and under labels you choose, so the picker lists the models your organization runs, after the built-in lineup or instead of it. Each row's `model` is taken verbatim, so it accepts anything `--model` accepts: an alias such as `opus`, an Anthropic model ID, or a provider-format ID for Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or an LLM gateway. Requires Claude Code v2.1.242 or later.
1014 
1015* **Scope**: [`User or managed`](#scopes). Claude Code reads the key from managed settings, `--settings`, and user settings, and ignores it in project and local settings so a repository you clone can't relabel the picker. The highest of those three that sets the key supplies the whole lineup, and Claude Code never combines lineups from two sources.
1016* **Type**: object with an `options` array of rows and an optional `replaceBuiltInOptions` Boolean
1017* **Default**: unset, so the picker shows the built-in lineup
1018 
1019This example adds two Bedrock deployments after the built-in lineup, under names your team recognizes:
1020 
1021```json managed-settings.json theme={null}
1022{
1023 "modelPicker": {
1024 "options": [
1025 { "model": "us.anthropic.claude-opus-4-8", "label": "Opus (production)" },
1026 {
1027 "model": "us.anthropic.claude-sonnet-4-6",
1028 "label": "Sonnet (production)",
1029 "description": "Day-to-day work"
1030 }
1031 ]
1032 }
1033}
1034```
1035 
1036<span id="modelpicker-options" />
1037 
1038<span id="modelpicker-replacebuiltinoptions" />
1039 
1040#### Fields for `modelPicker`
1041 
1042The key takes two fields, one for the rows themselves and one for whether they replace the built-in lineup or add to it.
1043 
1044| Field | Type | What it does |
1045| :---------------------- | :------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1046| `options` | array of rows, each with a required `model` and an optional `label` and `description` | The rows the picker shows, in this order, except that a grayed-out row moves to the bottom. Without a `label`, Claude Code titles the row with the built-in name for a model it knows, or the model ID otherwise, and without a `description` it writes a generic second line |
1047| `replaceBuiltInOptions` | Boolean, default `false` | Set it to `true` to show only these rows, **Default**, and a row for the model the session is already using. Leave it unset to add these rows after the built-in lineup |
1048 
1049With `replaceBuiltInOptions` on, Claude Code hides every other row: the built-in lineup, the rows it adds for [`availableModels`](#availablemodels) entries, the models [gateway discovery](/docs/en/llm-gateway-protocol#model-discovery) found, and [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/en/model-config#add-a-custom-model-option). With it off, Claude Code skips a listed model that the built-in lineup already covers. A label changes what the picker shows, not which model Claude Code runs.
1050 
1051An [`availableModels`](#availablemodels) allowlist still applies to these rows. Before you add a listed model to the allowlist, read [Merge behavior](/docs/en/model-config#merge-behavior): a specific model ID narrows its family's wildcard entry. Claude Code also checks each row against the session before it shows the picker:
1052 
1053* **Dropped**: a row Claude Code can't serve, such as a retired model or a model your organization has no access to
1054* **Grayed out**: a row you can't select yet, shown with the reason
1055* **No row survives**: Claude Code keeps the built-in lineup, filtered by the allowlist as usual
1056 
1057Claude Code drops a row it can't parse and keeps the rest. See [Fix a broken settings file](/docs/en/settings#fix-a-broken-settings-file).
1058 
10101059### `outputStyle`
10111060 
10121061Select an [output style](/docs/en/output-styles) by name. An output style is a saved set of instructions that Claude Code adds to the system prompt to change Claude's role, tone, and output format, such as the built-in Explanatory and Learning styles or one you wrote yourself.
from line 3506
34573506 
34583507The reach depends on which file carries the key:
34593508 
3460* **In managed settings**: Claude Code disables every hook, including managed ones
3461* **In any other settings file**: Claude Code disables user, project, local, and plugin hooks; managed hooks and hooks from plugins force-enabled in managed [`enabledPlugins`](#enabledplugins) keep running
3509* **In managed settings**: Claude Code disables every configured hook, including managed ones, and keeps running the hooks the [Agent SDK](/docs/en/agent-sdk/overview) registers in process
3510* **In any other settings file**: Claude Code disables user, project, local, and plugin hooks; managed hooks, Agent SDK hooks, and hooks from plugins force-enabled in managed [`enabledPlugins`](#enabledplugins) keep running
34623511 
3512Keeping Agent SDK hooks running when managed settings set this key requires Claude Code v2.1.242 or later.
3513 
34633514The [`/goal`](/docs/en/goal) command can't run while hooks are disabled, and the `/hooks` menu shows a notice instead of your hooks.
34643515 
34653516#### Status line and file suggestion gates
from line 3619
35683619}
35693620```
35703621 
3571The `ultracode` effort setting, `/workflows`, and saved workflow commands are unaffected. Requires Claude Code v2.1.157 or later. Before v2.1.160, the trigger keyword was `workflow`.
3572 
3573### `workflowSizeGuideline`
3574 
3575Set the [agent count Claude aims for](/docs/en/workflows#set-a-size-guideline) in the dynamic workflows it writes. Claude Code sends the value to Claude as advice, not an enforced cap: `"small"` asks for fewer than 5 agents, `"medium"` fewer than 15, and `"large"` fewer than 50. Choose `"small"` when you want to bound what a workflow spends. Requires Claude Code v2.1.219 or later.
3576 
3577* **Scope**: [`Any file`](#scopes). A value there takes precedence over the **Dynamic workflow size** choice in `/config`, which Claude Code stores in `~/.claude.json`, and Claude Code hides that row while a settings file sets the key.
3578* **Type**: string, one of:
3579 * `"unrestricted"`: no guideline, so Claude sizes the workflow to the task
3580 * `"small"`: Claude aims for fewer than 5 agents
3581 * `"medium"`: Claude aims for fewer than 15 agents
3582 * `"large"`: Claude aims for fewer than 50 agents
3583* **Default**: `"medium"`
3584 
3585```json settings.json theme={null}
3586{
3587 "workflowSizeGuideline": "small"
3588}
3589```
3590 
3591Requires Claude Code v2.1.219 or later; on v2.1.202 through v2.1.218, set the guideline in `/config` instead.
3592 
3593<span id="plugin-configuration" />
3594 
3595<span id="manage-plugins" />
3596 
3597<span id="plugin-settings" />
3598 
3599## Plugins and skills
3600 
3601Enable plugins, register marketplaces, restrict which plugin sources an organization allows, and control which skills load. For installing and building plugins, see [Plugins](/docs/en/plugins).
3602 
3603### `disableBundledSkills`
3604 
3605Turn off the [skills](/docs/en/skills) and workflows included with Claude Code. Claude Code removes bundled skills and workflows entirely, while built-in commands such as `/init` stay typable but are hidden from the model.
3606 
3607* **Scope**: [`Any file`](#scopes)
3608* **Type**: Boolean
3609 * `true`: Claude Code removes bundled skills and workflows and hides built-in commands such as `/init` from the model
3610 * `false`: bundled skills load
3611* **Default**: unset, so bundled skills load
3612* **Per-session overrides**: [`CLAUDE_CODE_DISABLE_BUNDLED_SKILLS`](/docs/en/env-vars) set to `1` turns bundled skills off for one session; whichever of the two turns them off, the other can't turn them back on
3613 
3614```json settings.json theme={null}
3615{
3616 "disableBundledSkills": true
3617}
3618```
3619 
3620Skills from plugins, `.claude/skills/`, and `.claude/commands/` are unaffected. `/doctor` stays typable like the built-in commands; to hide it, set [`DISABLE_DOCTOR_COMMAND`](/docs/en/env-vars) instead.
3621 
3622### `disableSkillShellExecution`
3623 
3624Turn off inline shell execution for `` !`...` `` and ` ```! ` blocks in [skills](/en/skills) and custom commands from user, project, plugin, or additional-directory sources. Claude Code replaces each command with `[shell command execution disabled by policy]` instead of running it.
3625 
3626* **Scope**: [`Any file`](#scopes). A `true` in managed settings can't be overridden by `false` elsewhere.
3627* **Type**: Boolean
3628 * `true`: Claude Code replaces each inline shell command with `[shell command execution disabled by policy]` instead of running it
3629 * `false`: inline shell runs
3630* **Default**: unset, so inline shell runs
3631 
3632```json settings.json theme={null}
3633{
3634 "disableSkillShellExecution": true
3635}
3636```
3637 
3638Bundled skills and skills deployed through managed settings are unaffected.
3639 
3640### `skillOverrides`
3641 
3642Hide or collapse a [skill](/docs/en/skills#override-skill-visibility-from-settings) without editing its `SKILL.md`. Claude Code applies the value under each skill's name to the skill list Claude sees and to your `/` autocomplete.
3643 
3644* **Scope**: [`Any file`](#scopes). The `/skills` menu writes to `.claude/settings.local.json`.
3645* **Type**: object mapping skill name to one of:
3646 * `"on"`: Claude sees the skill and you can type `/name`
3647 * `"name-only"`: Claude sees the skill by name without its description
3648 * `"user-invocable-only"`: Claude doesn't see the skill, but you can still type `/name`
3649 * `"off"`: Claude doesn't see the skill and `/name` is hidden from autocomplete
3650* **Default**: unset, so every skill is `"on"`
3651 
3652This example lists `legacy-context` to Claude by name only and hides `deploy` from Claude and from `/` autocomplete:
3653 
3654```json settings.json theme={null}
3655{
3656 "skillOverrides": {
3657 "legacy-context": "name-only",
3658 "deploy": "off"
3659 }
3660}
3661```
3662 
3663`"name-only"` lists the skill to the model without its description, `"user-invocable-only"` hides it from the model but keeps `/name` typable, and `"off"` hides it from both. Overrides don't apply to plugin skills, which you manage through `/plugin`.
3664 
3665### `syncClaudeAiSkills`
3666 
3667Turn off the download of the [skills you enable on claude.ai](/docs/en/skills#how-synced-skills-behave). Claude Code downloads them into `~/.claude/skills/synced/` when you run it in [non-interactive mode](/docs/en/headless) with the `-p` flag and [`CLAUDE_CODE_SYNC_SKILLS`](/docs/en/env-vars#variables) set. Set `false` to stop that download and hide the skills it already synced. Claude Code honors only `false`
3622The `ultracode` effor
Feedback