Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
{
"autoUpdatesChannel": "beta",
"effortLevel": "extreme",
"forceLoginMethod": "github",
"permissions": {
"defaultMode": "invalid-mode"
"defaultMode": "invalid-mode",
"disableBypassPermissionsMode": "enabled"
},
"spinnerVerbs": {
"mode": "merge",
"verbs": ["Analyzing"]
}
},
"teammateMode": "split"
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"extraKnownMarketplaces": {
"corp-bad-git": {
"source": {
"source": "git",
"url": "https://example.com/no-git-suffix"
}
},
"internal-git": {
"source": {
"source": "hostPattern"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"allowedMcpServers": [
{
"serverName": "invalid server name!"
}
],
"deniedMcpServers": [
{
"serverName": "also.invalid.name"
}
]
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"cleanupPeriodDays": "thirty",
"enableAllProjectMcpServers": 1,
"fastMode": "yes",
"hooks": {
"PreToolUse": [
{
Expand Down
33 changes: 29 additions & 4 deletions src/schemas/json/claude-code-settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,11 @@
"description": "Control Opus 4.6 adaptive reasoning effort. Lower effort is faster and cheaper for straightforward tasks, higher effort provides deeper reasoning. See https://code.claude.com/docs/en/model-config#adjust-effort-level",
"default": "high"
},
"fastMode": {
"type": "boolean",
"description": "Enable fast mode for Opus 4.6. Fast mode uses the same model with faster output at higher cost per token. Alternatively, toggle with /fast command. See https://code.claude.com/docs/en/fast-mode",
"default": false
},
"enableAllProjectMcpServers": {
"type": "boolean",
"description": "Whether to automatically approve all MCP servers in the project. See https://code.claude.com/docs/en/mcp",
Expand Down Expand Up @@ -580,13 +585,16 @@
"properties": {
"type": {
"type": "string",
"description": "The type of status line handler; must be set to \"command\" to run a custom shell script that receives JSON session data via stdin.",
"const": "command"
},
"command": {
"type": "string"
"type": "string",
"description": "A shell command or path to a script that displays session information (context usage, costs, git status, etc.) by reading JSON data from stdin and writing output to stdout. See https://code.claude.com/docs/en/statusline"
},
"padding": {
"type": "number"
"type": "number",
"description": "Optional number of extra horizontal spacing characters added to the status line content; defaults to 0."
}
},
"required": ["type", "command"],
Expand All @@ -604,6 +612,7 @@
"properties": {
"type": {
"type": "string",
"description": "The type of file suggestion handler; must be set to \"command\" to execute a custom shell script that generates file suggestions for the @ file picker.",
"const": "command"
},
"command": {
Expand Down Expand Up @@ -653,6 +662,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "url"
},
"url": {
Expand All @@ -669,6 +679,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "hostPattern"
},
"hostPattern": {
Expand All @@ -684,6 +695,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "github"
},
"repo": {
Expand All @@ -707,6 +719,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "git"
},
"url": {
Expand All @@ -731,6 +744,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "npm"
},
"package": {
Expand All @@ -746,6 +760,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "file"
},
"path": {
Expand All @@ -761,6 +776,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "directory"
},
"path": {
Expand Down Expand Up @@ -794,6 +810,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "hostPattern"
},
"hostPattern": {
Expand All @@ -809,6 +826,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "github"
},
"repo": {
Expand All @@ -832,6 +850,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "git"
},
"url": {
Expand All @@ -855,6 +874,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "url"
},
"url": {
Expand All @@ -878,6 +898,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "npm"
},
"package": {
Expand All @@ -893,6 +914,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "file"
},
"path": {
Expand All @@ -908,6 +930,7 @@
"properties": {
"source": {
"type": "string",
"description": "Identifies the marketplace source type",
"const": "directory"
},
"path": {
Expand Down Expand Up @@ -976,6 +999,7 @@
"properties": {
"network": {
"type": "object",
"description": "Configures network isolation settings for the sandboxed bash environment, including domain restrictions, Unix socket access, and custom proxy configuration.",
"properties": {
"allowUnixSockets": {
"type": "array",
Expand Down Expand Up @@ -1043,7 +1067,8 @@
},
"autoAllowBashIfSandboxed": {
"type": "boolean",
"description": "Automatically allow bash commands without prompting when they run in the sandbox. Only applies to commands that will run sandboxed."
"description": "Automatically allow bash commands without prompting when they run in the sandbox. Only applies to commands that will run sandboxed.",
"default": true
},
"enableWeakerNestedSandbox": {
"type": "boolean",
Expand All @@ -1067,7 +1092,7 @@
"mode": {
"type": "string",
"enum": ["append", "replace"],
"description": "How custom verbs should be combined with the default spinner verbs"
"description": "How to combine custom verbs with default spinner verbs: 'append' adds custom verbs to the default list, 'replace' uses only custom verbs"
},
"verbs": {
"type": "array",
Expand Down
2 changes: 2 additions & 0 deletions src/test/claude-code-settings/basic-config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"effortLevel": "high",
"model": "sonnet",
"teammateMode": "auto",
"verbose": false
}
1 change: 1 addition & 0 deletions src/test/claude-code-settings/complete-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"WebFetch(domain:anthropic.com)"
],
"ask": ["Write(//tmp/**)", "WebFetch(domain:trusted.example.com)"],
"defaultMode": "delegate",
"deny": [
"Bash(rm:*)",
"Bash(curl:*)",
Expand Down
17 changes: 16 additions & 1 deletion src/test/claude-code-settings/edge-cases.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
{
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 0,
"effortLevel": "low",
"env": {},
"fastMode": false,
"forceLoginMethod": "claudeai",
"permissions": {
"allow": [],
"ask": [],
"defaultMode": "dontAsk",
"deny": []
}
},
"prefersReducedMotion": false,
"respectGitignore": true,
"showTurnDuration": true,
"spinnerTipsEnabled": true,
"spinnerVerbs": {
"mode": "append",
"verbs": ["Thinking"]
},
"teammateMode": "in-process",
"terminalProgressBarEnabled": true
}
6 changes: 6 additions & 0 deletions src/test/claude-code-settings/marketplace-host-pattern.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"extraKnownMarketplaces": {
"corp-git-repo": {
"source": {
"source": "git",
"url": "https://git.corp.example/plugins/marketplace.git"
}
},
"internal-git": {
"source": {
"hostPattern": "git.internal.example.com",
Expand Down
50 changes: 39 additions & 11 deletions src/test/claude-code-settings/modern-complete-config.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"allowManagedHooksOnly": false,
"allowManagedPermissionRulesOnly": false,
"alwaysThinkingEnabled": false,
"apiKeyHelper": "/usr/local/bin/claude-auth-helper",
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>",
"pr": ""
},
"autoUpdatesChannel": "stable",
"autoUpdatesChannel": "latest",
"availableModels": ["sonnet", "haiku"],
"awsAuthRefresh": "aws sso login --profile myprofile",
"awsCredentialExport": "/bin/generate_aws_grant.sh",
"cleanupPeriodDays": 60,
"companyAnnouncements": ["Welcome to the team!"],
"disableAllHooks": false,
"disabledMcpjsonServers": ["untrusted-server"],
"effortLevel": "high",
"effortLevel": "medium",
"enableAllProjectMcpServers": true,
"enabledPlugins": {
"formatter@anthropic-tools": true
},
"env": {
"ANTHROPIC_MODEL": "claude-3-5-sonnet-20241022",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-3-5-haiku-20241022",
Expand All @@ -27,11 +35,13 @@
}
}
},
"fastMode": true,
"fileSuggestion": {
"command": "~/.claude/file-suggestion.sh",
"type": "command"
},
"forceLoginMethod": "claudeai",
"forceLoginMethod": "console",
"forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"hooks": {
"PermissionRequest": [
{
Expand Down Expand Up @@ -80,6 +90,7 @@
"includeCoAuthoredBy": true,
"language": "english",
"model": "opus",
"otelHeadersHelper": "/usr/local/bin/otel-headers.sh",
"outputStyle": "Explanatory",
"permissions": {
"additionalDirectories": ["~/Documents/reference", "~/.config/claude-code"],
Expand Down Expand Up @@ -107,11 +118,20 @@
]
},
"plansDirectory": "./plans",
"prefersReducedMotion": false,
"respectGitignore": true,
"pluginConfigs": {
"formatter@anthropic-tools": {
"mcpServers": {
"formatter": {
"autoFormat": "true"
}
}
}
},
"prefersReducedMotion": true,
"respectGitignore": false,
"sandbox": {
"allowUnsandboxedCommands": false,
"autoAllowBashIfSandboxed": true,
"autoAllowBashIfSandboxed": false,
"enableWeakerNestedSandbox": false,
"enabled": true,
"excludedCommands": ["docker", "git"],
Expand All @@ -125,16 +145,24 @@
"socksProxyPort": 8081
}
},
"showTurnDuration": true,
"spinnerTipsEnabled": true,
"showTurnDuration": false,
"skipWebFetchPreflight": false,
"skippedMarketplaces": ["untrusted-marketplace"],
"skippedPlugins": ["risky-plugin@unknown-marketplace"],
"spinnerTipsEnabled": false,
"spinnerTipsOverride": {
"excludeDefault": false,
"tips": ["Check the style guide", "Run tests before committing"]
},
"spinnerVerbs": {
"mode": "append",
"mode": "replace",
"verbs": ["Analyzing", "Building"]
},
"teammateMode": "auto",
"terminalProgressBarEnabled": true
"statusLine": {
"command": "~/.claude/statusline.sh",
"padding": 1,
"type": "command"
},
"teammateMode": "tmux",
"terminalProgressBarEnabled": false
}
1 change: 1 addition & 0 deletions src/test/claude-code-settings/permissions-basic.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"permissions": {
"allow": ["Read(~/.bashrc)", "Bash(pwd:*)"],
"ask": ["Write(/tmp/**)"],
"defaultMode": "default",
"deny": ["Bash(sudo:*)"]
}
}
Loading