|
4 | 4 | "$defs": { |
5 | 5 | "permissionRule": { |
6 | 6 | "type": "string", |
7 | | - "description": "Tool permission rule", |
8 | | - "pattern": "^((Bash|BashOutput|Edit|ExitPlanMode|Glob|Grep|KillShell|NotebookEdit|Read|Skill|SlashCommand|Task|TodoWrite|WebFetch|WebSearch|Write)(\\((?=.*[^)*?])[^)]+\\))?|mcp__.*)$", |
| 7 | + "description": "Tool permission rule. See https://code.claude.com/docs/en/settings#permission-rule-syntax", |
| 8 | + "pattern": "^((Bash|Edit|ExitPlanMode|Glob|Grep|KillShell|NotebookEdit|Read|Skill|Task|TodoWrite|WebFetch|WebSearch|Write)(\\((?=.*[^)*?])[^)]+\\))?|mcp__.*)$", |
9 | 9 | "examples": [ |
| 10 | + "Bash", |
| 11 | + "Bash(npm run build)", |
10 | 12 | "Bash(git commit:*)", |
11 | | - "Bash(npm run lint:*)", |
| 13 | + "Bash(npm run:*)", |
| 14 | + "Bash(ls*)", |
| 15 | + "Bash(git * main)", |
| 16 | + "Edit", |
12 | 17 | "Edit(/src/**/*.ts)", |
13 | | - "mcp__github__search_repositories", |
14 | | - "Read(*.env)", |
15 | | - "Read(//Users/alice/secrets/**)", |
| 18 | + "Read(./.env)", |
| 19 | + "Read(./secrets/**)", |
| 20 | + "Read(/Users/alice/secrets/**)", |
16 | 21 | "Read(~/Documents/*.pdf)", |
17 | 22 | "WebFetch", |
18 | | - "WebFetch(domain:github.com)", |
19 | | - "Read(//tmp/**/*)" |
| 23 | + "WebFetch(domain:example.com)", |
| 24 | + "mcp__github__search_repositories" |
20 | 25 | ] |
21 | 26 | }, |
22 | 27 | "hookCommand": { |
|
89 | 94 | } |
90 | 95 | } |
91 | 96 | }, |
92 | | - "description": "Configuration settings for Claude Code. Learn more: https://docs.claude.com/en/docs/claude-code/settings", |
| 97 | + "description": "Configuration settings for Claude Code. Learn more: https://code.claude.com/docs/en/settings", |
93 | 98 | "allowTrailingCommas": true, |
94 | 99 | "additionalProperties": true, |
95 | 100 | "type": "object", |
|
104 | 109 | "examples": ["/bin/generate_temp_api_key.sh"], |
105 | 110 | "minLength": 1 |
106 | 111 | }, |
| 112 | + "autoUpdatesChannel": { |
| 113 | + "type": "string", |
| 114 | + "enum": ["stable", "latest"], |
| 115 | + "description": "Release channel to follow for updates. Use \"stable\" for a version that is typically about one week old and skips versions with major regressions, or \"latest\" (default) for the most recent release", |
| 116 | + "default": "latest" |
| 117 | + }, |
107 | 118 | "awsCredentialExport": { |
108 | 119 | "type": "string", |
109 | 120 | "description": "Path to a script that exports AWS credentials", |
|
141 | 152 | } |
142 | 153 | } |
143 | 154 | }, |
| 155 | + "attribution": { |
| 156 | + "type": "object", |
| 157 | + "description": "Customize attribution for git commits and pull requests. See https://code.claude.com/docs/en/settings#attribution-settings", |
| 158 | + "additionalProperties": false, |
| 159 | + "properties": { |
| 160 | + "commit": { |
| 161 | + "type": "string", |
| 162 | + "description": "Attribution for git commits, including any trailers. Empty string hides commit attribution" |
| 163 | + }, |
| 164 | + "pr": { |
| 165 | + "type": "string", |
| 166 | + "description": "Attribution for pull request descriptions. Empty string hides pull request attribution" |
| 167 | + } |
| 168 | + } |
| 169 | + }, |
144 | 170 | "includeCoAuthoredBy": { |
145 | 171 | "type": "boolean", |
146 | | - "description": "Whether to include Claude's co-authored by attribution in commits and PRs (defaults to true)", |
| 172 | + "description": "DEPRECATED. Use 'attribution' instead. Whether to include the co-authored-by Claude byline in git commits and pull requests (default: true)", |
| 173 | + "default": true |
| 174 | + }, |
| 175 | + "plansDirectory": { |
| 176 | + "type": "string", |
| 177 | + "description": "Customize where plan files are stored. Path is relative to project root (default: ~/.claude/plans)", |
| 178 | + "default": "~/.claude/plans", |
| 179 | + "examples": ["./plans"] |
| 180 | + }, |
| 181 | + "respectGitignore": { |
| 182 | + "type": "boolean", |
| 183 | + "description": "Control whether the @ file picker respects .gitignore patterns. When true (default), files matching .gitignore patterns are excluded from suggestions", |
147 | 184 | "default": true |
148 | 185 | }, |
149 | 186 | "permissions": { |
|
195 | 232 | } |
196 | 233 | }, |
197 | 234 | "additionalProperties": false, |
198 | | - "description": "Tool usage permissions configuration", |
| 235 | + "description": "Tool usage permissions configuration. See https://code.claude.com/docs/en/iam#configuring-permissions", |
199 | 236 | "examples": [ |
200 | 237 | { |
201 | 238 | "allow": ["Bash(git add:*)"], |
|
205 | 242 | } |
206 | 243 | ] |
207 | 244 | }, |
| 245 | + "language": { |
| 246 | + "type": "string", |
| 247 | + "description": "Preferred language for Claude's responses", |
| 248 | + "examples": ["japanese", "spanish", "french"] |
| 249 | + }, |
208 | 250 | "model": { |
209 | 251 | "type": "string", |
210 | 252 | "description": "Override the default model used by Claude Code" |
211 | 253 | }, |
212 | 254 | "enableAllProjectMcpServers": { |
213 | 255 | "type": "boolean", |
214 | | - "description": "Whether to automatically approve all MCP servers in the project", |
| 256 | + "description": "Whether to automatically approve all MCP servers in the project. See https://code.claude.com/docs/en/mcp", |
215 | 257 | "examples": [true] |
216 | 258 | }, |
217 | 259 | "enabledMcpjsonServers": { |
|
267 | 309 | "hooks": { |
268 | 310 | "type": "object", |
269 | 311 | "additionalProperties": false, |
270 | | - "description": "Custom commands to run before/after tool executions", |
| 312 | + "description": "Custom commands to run before/after tool executions. See https://code.claude.com/docs/en/hooks", |
271 | 313 | "examples": [ |
272 | 314 | { |
273 | 315 | "PostToolUse": [ |
|
299 | 341 | "$ref": "#/$defs/hookMatcher" |
300 | 342 | } |
301 | 343 | }, |
| 344 | + "PostToolUseFailure": { |
| 345 | + "type": "array", |
| 346 | + "description": "UNDOCUMENTED. Hooks that run after a tool fails", |
| 347 | + "items": { |
| 348 | + "$ref": "#/$defs/hookMatcher" |
| 349 | + } |
| 350 | + }, |
| 351 | + "PermissionRequest": { |
| 352 | + "type": "array", |
| 353 | + "description": "UNDOCUMENTED. Hooks that run when a permission is requested", |
| 354 | + "items": { |
| 355 | + "$ref": "#/$defs/hookMatcher" |
| 356 | + } |
| 357 | + }, |
302 | 358 | "Notification": { |
303 | 359 | "type": "array", |
304 | 360 | "description": "Hooks that trigger on notifications", |
|
354 | 410 | "type": "boolean", |
355 | 411 | "description": "Disable all hooks and statusLine execution" |
356 | 412 | }, |
| 413 | + "allowManagedHooksOnly": { |
| 414 | + "type": "boolean", |
| 415 | + "description": "(Managed settings only) Prevent loading of user, project, and plugin hooks. Only allows managed hooks and SDK hooks. See https://code.claude.com/docs/en/settings#hook-configuration" |
| 416 | + }, |
357 | 417 | "statusLine": { |
358 | 418 | "type": "object", |
359 | 419 | "properties": { |
|
370 | 430 | }, |
371 | 431 | "required": ["type", "command"], |
372 | 432 | "additionalProperties": false, |
373 | | - "description": "Custom status line display configuration", |
| 433 | + "description": "Custom status line display configuration. See https://code.claude.com/docs/en/statusline", |
374 | 434 | "examples": [ |
375 | 435 | { |
376 | 436 | "type": "command", |
377 | 437 | "command": "~/.claude/statusline.sh" |
378 | 438 | } |
379 | 439 | ] |
380 | 440 | }, |
| 441 | + "fileSuggestion": { |
| 442 | + "type": "object", |
| 443 | + "properties": { |
| 444 | + "type": { |
| 445 | + "type": "string", |
| 446 | + "const": "command" |
| 447 | + }, |
| 448 | + "command": { |
| 449 | + "type": "string", |
| 450 | + "description": "Shell command to execute for file suggestions" |
| 451 | + } |
| 452 | + }, |
| 453 | + "required": ["type", "command"], |
| 454 | + "additionalProperties": false, |
| 455 | + "description": "Configure a custom script for @ file autocomplete. See https://code.claude.com/docs/en/settings#file-suggestion-settings", |
| 456 | + "examples": [ |
| 457 | + { |
| 458 | + "type": "command", |
| 459 | + "command": "~/.claude/file-suggestion.sh" |
| 460 | + } |
| 461 | + ] |
| 462 | + }, |
381 | 463 | "enabledPlugins": { |
382 | 464 | "type": "object", |
383 | 465 | "additionalProperties": { |
|
396 | 478 | } |
397 | 479 | ] |
398 | 480 | }, |
399 | | - "description": "Enabled plugins using plugin-id@marketplace-id format. Example: { \"formatter@anthropic-tools\": true }. Also supports extended format with version constraints." |
| 481 | + "description": "Enabled plugins using plugin-id@marketplace-id format. Example: { \"formatter@anthropic-tools\": true }. See https://code.claude.com/docs/en/plugins" |
400 | 482 | }, |
401 | 483 | "extraKnownMarketplaces": { |
402 | 484 | "type": "object", |
|
524 | 606 | "required": ["source"], |
525 | 607 | "additionalProperties": false |
526 | 608 | }, |
527 | | - "description": "Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources." |
| 609 | + "description": "Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources. See https://code.claude.com/docs/en/plugin-marketplaces" |
| 610 | + }, |
| 611 | + "strictKnownMarketplaces": { |
| 612 | + "type": "array", |
| 613 | + "description": "(Managed settings only) Allowlist of plugin marketplaces users can add. Undefined = no restrictions, empty array = lockdown. Uses exact matching for source specifications. See https://code.claude.com/docs/en/settings#strictknownmarketplaces", |
| 614 | + "items": { |
| 615 | + "anyOf": [ |
| 616 | + { |
| 617 | + "type": "object", |
| 618 | + "properties": { |
| 619 | + "source": { |
| 620 | + "type": "string", |
| 621 | + "const": "github" |
| 622 | + }, |
| 623 | + "repo": { |
| 624 | + "type": "string", |
| 625 | + "description": "GitHub repository in owner/repo format" |
| 626 | + }, |
| 627 | + "ref": { |
| 628 | + "type": "string", |
| 629 | + "description": "Git branch, tag, or SHA" |
| 630 | + }, |
| 631 | + "path": { |
| 632 | + "type": "string", |
| 633 | + "description": "Subdirectory path" |
| 634 | + } |
| 635 | + }, |
| 636 | + "required": ["source", "repo"], |
| 637 | + "additionalProperties": false |
| 638 | + }, |
| 639 | + { |
| 640 | + "type": "object", |
| 641 | + "properties": { |
| 642 | + "source": { |
| 643 | + "type": "string", |
| 644 | + "const": "git" |
| 645 | + }, |
| 646 | + "url": { |
| 647 | + "type": "string", |
| 648 | + "description": "Full git repository URL" |
| 649 | + }, |
| 650 | + "ref": { |
| 651 | + "type": "string", |
| 652 | + "description": "Git branch, tag, or SHA" |
| 653 | + }, |
| 654 | + "path": { |
| 655 | + "type": "string", |
| 656 | + "description": "Subdirectory path" |
| 657 | + } |
| 658 | + }, |
| 659 | + "required": ["source", "url"], |
| 660 | + "additionalProperties": false |
| 661 | + }, |
| 662 | + { |
| 663 | + "type": "object", |
| 664 | + "properties": { |
| 665 | + "source": { |
| 666 | + "type": "string", |
| 667 | + "const": "url" |
| 668 | + }, |
| 669 | + "url": { |
| 670 | + "type": "string", |
| 671 | + "format": "uri", |
| 672 | + "description": "Direct URL to marketplace.json" |
| 673 | + }, |
| 674 | + "headers": { |
| 675 | + "type": "object", |
| 676 | + "additionalProperties": { |
| 677 | + "type": "string" |
| 678 | + }, |
| 679 | + "description": "HTTP headers for authenticated access" |
| 680 | + } |
| 681 | + }, |
| 682 | + "required": ["source", "url"], |
| 683 | + "additionalProperties": false |
| 684 | + }, |
| 685 | + { |
| 686 | + "type": "object", |
| 687 | + "properties": { |
| 688 | + "source": { |
| 689 | + "type": "string", |
| 690 | + "const": "npm" |
| 691 | + }, |
| 692 | + "package": { |
| 693 | + "type": "string", |
| 694 | + "description": "NPM package name (supports scoped packages)" |
| 695 | + } |
| 696 | + }, |
| 697 | + "required": ["source", "package"], |
| 698 | + "additionalProperties": false |
| 699 | + }, |
| 700 | + { |
| 701 | + "type": "object", |
| 702 | + "properties": { |
| 703 | + "source": { |
| 704 | + "type": "string", |
| 705 | + "const": "file" |
| 706 | + }, |
| 707 | + "path": { |
| 708 | + "type": "string", |
| 709 | + "description": "Absolute path to marketplace.json file" |
| 710 | + } |
| 711 | + }, |
| 712 | + "required": ["source", "path"], |
| 713 | + "additionalProperties": false |
| 714 | + }, |
| 715 | + { |
| 716 | + "type": "object", |
| 717 | + "properties": { |
| 718 | + "source": { |
| 719 | + "type": "string", |
| 720 | + "const": "directory" |
| 721 | + }, |
| 722 | + "path": { |
| 723 | + "type": "string", |
| 724 | + "description": "Absolute path to directory containing .claude-plugin/marketplace.json" |
| 725 | + } |
| 726 | + }, |
| 727 | + "required": ["source", "path"], |
| 728 | + "additionalProperties": false |
| 729 | + } |
| 730 | + ] |
| 731 | + }, |
| 732 | + "examples": [ |
| 733 | + [ |
| 734 | + { "source": "github", "repo": "acme-corp/approved-plugins" }, |
| 735 | + { "source": "npm", "package": "@acme-corp/compliance-plugins" } |
| 736 | + ] |
| 737 | + ] |
528 | 738 | }, |
529 | 739 | "skippedMarketplaces": { |
530 | 740 | "type": "array", |
|
561 | 771 | }, |
562 | 772 | "outputStyle": { |
563 | 773 | "type": "string", |
564 | | - "description": "Controls the output style for assistant responses", |
| 774 | + "description": "Controls the output style for assistant responses. See https://code.claude.com/docs/en/output-styles", |
565 | 775 | "examples": ["default", "Explanatory", "Learning"], |
566 | 776 | "minLength": 1 |
567 | 777 | }, |
|
571 | 781 | }, |
572 | 782 | "sandbox": { |
573 | 783 | "type": "object", |
| 784 | + "description": "Sandbox execution configuration. See https://code.claude.com/docs/en/sandboxing", |
574 | 785 | "properties": { |
575 | 786 | "network": { |
576 | 787 | "type": "object", |
|
640 | 851 | }, |
641 | 852 | "spinnerTipsEnabled": { |
642 | 853 | "type": "boolean", |
643 | | - "description": "Whether to show tips in the spinner" |
| 854 | + "description": "Show tips in the spinner while Claude is working. Set to false to disable tips (default: true)", |
| 855 | + "default": true |
| 856 | + }, |
| 857 | + "terminalProgressBarEnabled": { |
| 858 | + "type": "boolean", |
| 859 | + "description": "Enable the terminal progress bar that shows progress in supported terminals like Windows Terminal and iTerm2 (default: true)", |
| 860 | + "default": true |
| 861 | + }, |
| 862 | + "showTurnDuration": { |
| 863 | + "type": "boolean", |
| 864 | + "description": "Show turn duration messages after responses (e.g., \"Cooked for 1m 6s\"). Set to false to hide these messages (default: true)", |
| 865 | + "default": true |
644 | 866 | }, |
645 | 867 | "alwaysThinkingEnabled": { |
646 | 868 | "type": "boolean", |
647 | | - "description": "Whether extended thinking is always enabled (default: false)" |
| 869 | + "description": "Enable extended thinking by default for all sessions. Typically configured via the /config command rather than editing directly. See https://code.claude.com/docs/en/common-workflows#use-extended-thinking-thinking-mode" |
648 | 870 | }, |
649 | 871 | "companyAnnouncements": { |
650 | 872 | "type": "array", |
|
0 commit comments