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

All settings changedsettings-reference

Nearest release: v2.1.309, published 4 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 23 Oct 2026 00:36 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 23 Oct 2026 00:37 UTC.

Upstream edited
Recorded here
Lines+5added
Lines−0removed
From line 3,465 where the diff opens
First seen 21 Aug 2026 this site's first read of the page
Recorded edits149to this page, all time

The whole hunk

from line 3465, 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 3465
34653465 
34663466Hostname matching is case-insensitive and treats `hooks.example.com.`, with the trailing dot that marks a fully qualified domain name, the same as `hooks.example.com`, which is how DNS treats them. The allowlist applies to hooks from every source, including managed settings.
34673467 
3468In the Agent SDK's `managedSettings` option, Claude Code ignores this key when its list has entries, so pass the list in the SDK's `settings` option instead. See [what each value does in parent settings](/docs/en/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect).
3469 
34683470### `allowManagedHooksOnly`
34693471 
34703472Restrict hook execution to hooks your organization deploys.
from line 3515
35133515The reach depends on which file carries the key:
35143516 
35153517* **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.md) registers in process
3518* **In the Agent SDK's `managedSettings` option**: Claude Code treats the key as `allowManagedHooksOnly: true`, so see [what runs under `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly) for which hooks stop. On a machine where an administrator deploys managed settings, Claude Code ignores this key unless the administrator [lets an embedding host add policy](/docs/en/managed-settings.md#let-an-embedding-host-add-policy). Requires Claude Code v2.1.309 or later.
35163519* **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
35173520 
35183521The key also stops [mods](/docs/en/plugins/mods/overview.md), which are plugins whose code registers hooks:
from line 3619
36163619 
36173620The allowlist applies to hooks from every source, including managed settings.
36183621 
3622In the Agent SDK's `managedSettings` option, Claude Code ignores this key when its list has entries, so pass the list in the SDK's `settings` option instead. See [what each value does in parent settings](/docs/en/claude-apps-gateway#how-hook-and-skill-keys-in-parent-settings-take-effect).
3623 
36193624### `workflowKeywordTriggerEnabled`
36203625 
36213626Choose whether typing the keyword `ultracode` in a prompt triggers a [dynamic workflow](/docs/en/workflows.md#ask-for-a-workflow-in-your-prompt). Set it to `false` to type the word without triggering one.
from line 3690
36853690* **Type**: Boolean
36863691 * `true`: Claude Code replaces each inline shell command with `[shell command execution disabled by policy]` instead of running it
36873692 * `false`: inline shell runs
3688* **Default**: unset, so inline shell runs
3689 
3690```json settings.json theme={null}
3691{
3692 "disableSkillShellExecution": true
3693}
3694```
3695 
3696Bundled skills and skills deployed through managed settings are unaffected.
3697 
3698### `skillOverrides`
3699 
3700Hide or collapse a [skill](/docs/en/skills.md#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.
3701 
3702* **Scope**: [`Any file`](#scopes). The `/skills` menu writes to `.claude/settings.local.json`.
3703* **Type**: object mapping skill name to one of:
3704 * `"on"`: Claude sees the skill and you can type `/name`
3705 * `"name-only"`: Claude sees the skill by name without its description
3706 * `"user-invocable-only"`: Claude doesn't see the skill, but you can still type `/name`
3707 * `"off"`: Claude doesn't see the skill and `/name` is hidden from autocomplete
3708* **Default**: unset, so every skill is `"on"`
3709 
3710This example lists `legacy-context` to Claude by name only and hides `deploy` from Claude and from `/` autocom
3693* **
Feedback