Skip to content

feat(claude-code-settings): sync to Claude Code v2.1.119#5614

Merged
github-actions[bot] merged 5 commits intoSchemaStore:masterfrom
miteshashar:claude-code-schema-2.1.119
Apr 27, 2026
Merged

feat(claude-code-settings): sync to Claude Code v2.1.119#5614
github-actions[bot] merged 5 commits intoSchemaStore:masterfrom
miteshashar:claude-code-schema-2.1.119

Conversation

@miteshashar
Copy link
Copy Markdown
Contributor

Supersedes #5585. Bundles v2.1.112 baseline plus subsequent v2.1.113–v2.1.119 changes into a single PR.

Schema

  • Bring claude-code-settings.json to Claude Code v2.1.112 baseline (subsumes feat(claude-code-settings): sync to Claude Code v2.1.112 #5585).
  • Add sandbox.network.deniedDomains array property; blocks specific domains even when broader allowedDomains wildcard would permit them (v2.1.113, sandboxing docs).
  • Update effortLevel description: Pro/Max default on Opus 4.6 and Sonnet 4.6 raised from medium to high (v2.1.117, model-config docs).
  • Update cleanupPeriodDays description: scope expanded to cover ~/.claude/tasks/, ~/.claude/shell-snapshots/, and ~/.claude/backups/ (v2.1.117).
  • Update autoUpdatesChannel description: reference DISABLE_UPDATES=1 env var for blocking all update paths including manual claude update (v2.1.118).
  • Update autoMode (and child allow/soft_deny/environment) descriptions: document the literal "$defaults" sentinel for splicing built-in classifier rules in at that array position alongside custom rules (v2.1.118, permissions docs).
  • Add mcp_tool hook handler variant in \$defs.hookCommand for direct MCP-tool invocation from hooks (v2.1.118, hooks docs).
  • Add prUrlTemplate top-level string for routing the footer PR badge to a custom code-review URL with placeholders {host}/{owner}/{repo}/{number}/{url} (v2.1.119, settings docs).
  • Add wslInheritsWindowsSettings managed-only boolean for WSL inheriting Windows-side managed settings (v2.1.118, settings docs).

Tests

  • modern-complete-config.json: add sandbox.network.deniedDomains, prUrlTemplate, wslInheritsWindowsSettings; demonstrate \"\$defaults\" token in autoMode.allow/soft_deny/environment; add mcp_tool hook example under PreToolUse.
  • managed-settings.json: add sandbox.network.deniedDomains and wslInheritsWindowsSettings: true to reflect managed-only context.
  • hooks-complete.json: add mcp_tool hook example with input/server/tool/timeout/statusMessage under PostToolUse.

Negative tests

  • wrong-property-types.json: add deniedDomains: \"should-be-array\" (array type violation).
  • missing-required-hook-fields.json: add mcp_tool entry missing required server field.

Skipped

  • v2.1.117 env vars CLAUDE_CODE_FORK_SUBAGENT and OTEL_LOG_TOOL_DETAILS — env-only with no corresponding settings.json property; verified via documentation. Schema does not enumerate every env var, only those mapping to settings properties.
  • v2.1.119 env vars CLAUDE_CODE_HIDE_CWD and ENABLE_TOOL_SEARCH — same reasoning.
  • v2.1.117 /model selection persistence to .claude/settings.local.json — runtime auto-write behavior, not a schema contract change.
  • v2.1.117 native bfs/ugrep replacements for Glob/Grep on macOS/Linux — implementation detail; tool names and invocation surface unchanged.
  • v2.1.119 hook input field duration_ms for PostToolUse / PostToolUseFailure — runtime hook input JSON, not a settings.json field.
  • v2.1.119 status-line stdin additions (effort.level, thinking.enabled) — runtime input passed to status-line script, not a schema field.

miteshashar and others added 5 commits April 17, 2026 06:33
Subsumes open PRs SchemaStore#5483 and SchemaStore#5583 (credited; coverage.js changes
deferred to a separate follow-up PR).

Schema:
- Add hookCommand fields: asyncRewake (command-only), shell (command-only,
  enum bash|powershell), if (filter on tool-related events). Omit `once`
  since docs scope it to skill frontmatter, not settings.json.
- Add hook events: StopFailure (API-error matcher values documented)
- Add 17 top-level properties: agent, allowedChannelPlugins, autoMemoryDirectory,
  autoMode (with allow/soft_deny/environment classifier customization),
  channelsEnabled, defaultShell, disableDeepLinkRegistration,
  disableSkillShellExecution, forceRemoteSettingsRefresh, minimumVersion,
  showClearContextOnPlanAccept, showThinkingSummaries,
  skipDangerousModePermissionPrompt, strictPluginOnlyCustomization, tui,
  useAutoModeDuringPlan, viewMode, voiceEnabled
- Add permissions.disableAutoMode (nested, mirrors disableBypassPermissionsMode)
- Add sandbox.network.allowMachLookup (macOS XPC/Mach service allowlist)
- Add sandbox.ripgrep custom-binary configuration
- Add statusLine.refreshInterval (min 1)
- Add pluginConfigs.*.options (non-sensitive plugin userConfig values)
- Extend effortLevel enum with xhigh (Opus 4.7) and max
- Extend permissionRule pattern with Monitor and PowerShell tools
- Tighten cleanupPeriodDays minimum from 0 to 1 (v2.1.89 validator rejects 0)
- Fix stale doc anchors: hooks-guide#filter-hooks-with-matchers,
  hooks#http-hook-fields, memory#exclude-specific-claude-md-files,
  tools-reference (canonical page for tool list)

Tests:
- modern-complete-config.json: cover all new properties
- complete-config.json: cover effortLevel medium and viewMode default
- edge-cases.json: update cleanupPeriodDays 0 -> 1
- New enum-coverage.json: cover alternate enum values (bash, fullscreen,
  xhigh, verbose) for full positive coverage across new enums

Negative tests:
- invalid-enum-values.json: add invalid values for defaultShell,
  disableDeepLinkRegistration, permissions.disableAutoMode, tui, viewMode
- New invalid-hook-shell.json: exercise hookCommand.shell invalid enum

Excluded:
- coverage.js \$defs-path fix from SchemaStore#5483 (scheduled for a separate PR
  crediting @r-johnv). Consequence: the #\$defs/hookCommand.shell enum
  coverage gate fails here; will be resolved when that PR lands.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Path-based traversal in collectValuesByPath cannot match $defs paths
(e.g., "#$defs/hookCommand.shell") against test data because the path
references the schema definition, not the test structure. Adds a deep
name-based search fallback for the terminal property name so test files
exercising the property via $ref usage are still matched.

Included from SchemaStore#5483 by @r-johnv to extend the coverage gate so this
sync PR can land without skipping the #\$defs/hookCommand.shell check.

Co-Authored-By: Rohit John Varghese <rohit@contoro.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…a-2.1.112

# Conflicts:
#	src/schemas/json/claude-code-settings.json
Schema:
- Add sandbox.network.deniedDomains array property; blocks specific domains
  even when broader allowedDomains wildcard would permit them.

Tests:
- Add deniedDomains to modern-complete-config.json and managed-settings.json.

Negative tests:
- Add wrong-type deniedDomains to wrong-property-types.json.
Schema:
- effortLevel: update default-effort note for Pro/Max plans on Opus 4.6
  and Sonnet 4.6 raised from medium to high (v2.1.117).
- cleanupPeriodDays: expand description to cover sessions, orphaned subagent
  worktrees, tasks, shell snapshots, and backups (v2.1.117).
- autoUpdatesChannel: reference DISABLE_UPDATES=1 env var (v2.1.118) for
  blocking all update paths including manual `claude update`.
- autoMode: document the literal "$defaults" sentinel in allow/soft_deny/
  environment arrays for splicing built-in defaults (v2.1.118).
- Add mcp_tool hook handler variant for direct MCP tool invocation from
  hooks ($defs.hookCommand, v2.1.118).
- Add prUrlTemplate top-level setting for routing the footer PR badge to
  custom code-review URLs (v2.1.119).
- Add wslInheritsWindowsSettings managed-only policy key for WSL
  inheriting Windows-side managed settings (v2.1.118).

Tests:
- modern-complete-config.json: add prUrlTemplate, wslInheritsWindowsSettings,
  $defaults token in autoMode arrays, and mcp_tool hook example.
- managed-settings.json: add wslInheritsWindowsSettings.
- hooks-complete.json: add mcp_tool hook example with timeout/statusMessage.

Negative tests:
- missing-required-hook-fields.json: add mcp_tool entry missing the
  required `server` field.
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for the PR!

This section of the codebase is owned by @domdomegg, @bogini, and @sarahdeaton - if they write a comment saying "LGTM" then it will be merged.

"type": "string",
"description": "Tool permission rule.\nSee https://code.claude.com/docs/en/settings#permission-rule-syntax\nSee https://code.claude.com/docs/en/settings#tools-available-to-claude for full list of tools available to Claude.",
"pattern": "^((Agent|Bash|Edit|ExitPlanMode|Glob|Grep|KillShell|LSP|NotebookEdit|Read|Skill|TaskCreate|TaskGet|TaskList|TaskOutput|TaskStop|TaskUpdate|TodoWrite|ToolSearch|WebFetch|WebSearch|Write)(\\((?=.*[^)*?])[^)]+\\))?|mcp__.*)$",
"description": "Tool permission rule.\nSee https://code.claude.com/docs/en/settings#permission-rule-syntax\nSee https://code.claude.com/docs/en/tools-reference for full list of tools available to Claude.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this may have moved again to https://code.claude.com/docs/en/tools-reference

@domdomegg
Copy link
Copy Markdown
Contributor

LGTM

Copy link
Copy Markdown
Contributor

@domdomegg domdomegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions Bot merged commit c9ce7f7 into SchemaStore:master Apr 27, 2026
6 of 7 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Merging because @domdomegg is a code-owner of all the changes - thanks!

@miteshashar miteshashar deleted the claude-code-schema-2.1.119 branch April 27, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants