feat(claude-code): update settings schema to match v2.1.81#5483
Open
r-johnv wants to merge 6 commits intoSchemaStore:masterfrom
Open
feat(claude-code): update settings schema to match v2.1.81#5483r-johnv wants to merge 6 commits intoSchemaStore:masterfrom
r-johnv wants to merge 6 commits intoSchemaStore:masterfrom
Conversation
Add 27 missing top-level properties, 4 missing hook events (PostCompact, StopFailure, Elicitation, ElicitationResult), new hook command fields (shell, once, asyncRewake), and missing sub-properties for sandbox, permissions, and pluginConfigs. Source of truth: Zod schema extracted from the installed @anthropic-ai/claude-code@2.1.81 npm package. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
Thanks for the PR! This section of the codebase is owned by @domdomegg, @bogini, and @ant-kurt - if they write a comment saying "LGTM" then it will be merged. |
- Add descriptions to sandbox.ripgrep.command and sandbox.ripgrep.args - Add positive test for uncovered enum values (auto, powershell, chat, disable) - Add negative test for enum fields missing negative coverage - Fix collectValuesByPath to handle $defs paths via deep name-based fallback
for more information, see https://pre-commit.ci
Contributor
|
LGTM |
Contributor
|
Sorry @domdomegg, you don't have access to these files: |
miteshashar
reviewed
Mar 23, 2026
Member
|
I've merged #5552 so not being owner of |
miteshashar
added a commit
to miteshashar/schemastore
that referenced
this pull request
Apr 17, 2026
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>
miteshashar
added a commit
to miteshashar/schemastore
that referenced
this pull request
Apr 17, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PostCompact,StopFailure,Elicitation,ElicitationResultshell,once,asyncRewake"auto"topermissions.defaultModeenum anddisableAutoModesub-propertyripgrep,filesystem.allowRead,filesystem.allowManagedReadPathsOnlypluginConfigs.*.optionssub-propertySource of truth: Zod schema extracted from the installed
@anthropic-ai/claude-code@2.1.81npm package.5 properties present in the existing schema were not found in the Zod source (
showTurnDuration,skippedMarketplaces,skippedPlugins,teammateMode,terminalProgressBarEnabled). These were left intact as they may be handled elsewhere in the codebase or represent valid user-facing settings not captured by the core Zod validation schema.Closes issue #5484
This would likely supersede PR #5467.
Test plan
node cli.js check --schema-name claude-code-settings.jsonpassesmodern-complete-config.json) updated with all new properties