Skip to content

Update Claude Code settings schema for v2.1.29 with hostPattern/async and test coverage#5332

Merged
hyperupcall merged 3 commits intoSchemaStore:masterfrom
kanghyojun:claude-code-2129
Feb 5, 2026
Merged

Update Claude Code settings schema for v2.1.29 with hostPattern/async and test coverage#5332
hyperupcall merged 3 commits intoSchemaStore:masterfrom
kanghyojun:claude-code-2129

Conversation

@kanghyojun
Copy link
Contributor

Added schema support

  • Hook async execution:
    • hooks.*.hooks[].async (boolean) for both command and prompt hooks
  • Spinner verbs:
    • spinnerVerbs.mode (append | replace)
    • spinnerVerbs.verbs (non-empty string array)
  • Sandbox network controls:
    • sandbox.network.allowAllUnixSockets
    • sandbox.network.allowedDomains
    • sandbox.network.deniedDomains
  • Marketplace source type:
    • extraKnownMarketplaces.*.source supports { "source": "hostPattern", "hostPattern": "..." }
    • strictKnownMarketplaces[] supports the same hostPattern source object
  • Permission rule tool coverage:
    • extended to include LS, MultiEdit, NotebookRead, SlashCommand

Tests

Updated and added Claude Code settings fixtures to cover new behavior.

Positive tests

  • src/test/claude-code-settings/modern-complete-config.json
  • src/test/claude-code-settings/hooks-complete.json
  • src/test/claude-code-settings/marketplace-host-pattern.json (new, dedicated hostPattern coverage)

Negative tests

  • src/negative_test/claude-code-settings/invalid-enum-values.json
  • src/negative_test/claude-code-settings/wrong-property-types.json
  • src/negative_test/claude-code-settings/invalid-marketplace-host-pattern.json (new, dedicated hostPattern validation failures)

Upstream references (Claude Code)

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Thanks for the PR!

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

@hyperupcall
Copy link
Member

Thanks

@hyperupcall hyperupcall merged commit be0d8f0 into SchemaStore:master Feb 5, 2026
5 checks passed
@kanghyojun
Copy link
Contributor Author

Thanks

Thanks so much for merging my PR! Really appreciate your time reviewing it. Big respect to you and all the committers for keeping this project alive — I know it takes a ton of effort. Cheers!

@kanghyojun kanghyojun deleted the claude-code-2129 branch February 6, 2026 03:17
miteshashar added a commit to miteshashar/schemastore that referenced this pull request Feb 6, 2026
Removed duplicate allowAllUnixSockets, allowedDomains, and spinnerVerbs
keys that were introduced during merge. Kept upstream versions from PR SchemaStore#5332.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
"type": "string",
"description": "Tool permission rule. See https://code.claude.com/docs/en/settings#permission-rule-syntax",
"pattern": "^((Bash|Edit|ExitPlanMode|Glob|Grep|KillShell|NotebookEdit|Read|Skill|Task|TodoWrite|WebFetch|WebSearch|Write)(\\((?=.*[^)*?])[^)]+\\))?|mcp__.*)$",
"pattern": "^((Bash|Edit|ExitPlanMode|Glob|Grep|KillShell|LS|MultiEdit|NotebookEdit|NotebookRead|Read|Skill|SlashCommand|Task|TodoWrite|WebFetch|WebSearch|Write)(\\((?=.*[^)*?])[^)]+\\))?|mcp__.*)$",
Copy link
Contributor

Choose a reason for hiding this comment

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

@kanghyojun @hyperupcall @domdomegg I had removed SlashCommand from this regex in #5300 . As per my understanding, after the new behavior of treating commands as skills, SlashCommand tool permission requests are not going to be sought.

The only reason to retain it could be to cover the use case of someone consciously using much older versions, which still used the SlashCommand tool. However, it's been a long time since the change from SlashCommand to Skill. So I am wondering whether there is merit to retain it.

Copy link
Contributor

Choose a reason for hiding this comment

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

Miteshashar is right — SlashCommand was renamed to Skill as a tool name back in October 2025. A SlashCommand(...) permission rule would be silently ignored since no tool has that name anymore. Fine to drop it.

miteshashar added a commit to miteshashar/schemastore that referenced this pull request Feb 8, 2026
- Add prefersReducedMotion (boolean) — accessibility setting for UI animations (v2.1.30)
- Add effortLevel (low/medium/high) — Opus 4.6 adaptive reasoning control (v2.1.31)
- Add teammateMode (auto/in-process/tmux) — agent teams display mode (v2.1.32)
- Add allowManagedPermissionRulesOnly (boolean) — enterprise managed settings companion to allowManagedHooksOnly
- Add TeammateIdle and TaskCompleted hook events — agent teams quality gates (v2.1.33)
- Add agent hook handler type with multi-turn tool access for verification hooks (v2.1.33)
- Add model property to prompt and agent hook types
- Expand defaultMode enum with delegate (agent teams) and dontAsk modes, add per-mode descriptions
- Remove SlashCommand from permissionRule pattern and examples — renamed to Skill since Oct 2025, per SchemaStore#5332 discussion
- Add TaskOutput to permissionRule pattern — undocumented but functional tool permission
- Fix deprecated :* suffix syntax in permission examples to space-star format
- Fix Read absolute path example to use // prefix
- Add Task(Explore) and mcp__puppeteer permission rule examples
- Fix broken permissions link (iam 404 → permissions + settings)
- Mark Setup hook as UNDOCUMENTED — not in lifecycle table at docs/en/hooks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

4 participants