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
/
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* **
No line in this hunk matches that.