Skip to content

Settings System

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"model": "claude-sonnet-4-6",
"theme": "dark",
"editorMode": "normal",
"language": "english",
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git *)",
"Read",
"Edit"
],
"deny": [
"Bash(rm -rf *)",
"Edit(./secrets/**)"
]
},
"defaultMode": "default",
"env": {
"NODE_ENV": "development",
"MY_VAR": "value"
},
"hooks": [
{
"event": "PostToolUse",
"if": { "tool": "Edit" },
"run": "sh",
"args": ["-c", "prettier --write $file_path 2>/dev/null || true"],
"continueOnError": true
}
],
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
},
"autoMemoryEnabled": true,
"autoCompactEnabled": true,
"fileCheckpointingEnabled": true,
"autoUpdatesChannel": "latest",
"minimumVersion": "2.1.100",
"additionalDirectories": ["/path/to/shared"],
"cleanupPeriodDays": 30
}
KeyValuesDefault
modelmodel ID stringclaude-sonnet-4-6
themedark, light, autodark
editorModenormal, vimnormal
languagelanguage nameenglish
defaultModedefault, acceptEdits, plan, auto, bypassPermissionsdefault
KeyTypeDefaultPurpose
autoMemoryEnabledbooleantrueAuto save learnings
autoCompactEnabledbooleantrueAuto compact context
fileCheckpointingEnabledbooleantrueEnable /rewind
alwaysThinkingEnabledbooleanfalseExtended thinking always on
disableArtifactbooleanfalseDisable artifact publishing
KeyValuesPurpose
autoUpdatesChannellatest, stableUpdate channel
minimumVersionversion stringFloor version

Managed/Policy Only (org-level enforcement)

Section titled “Managed/Policy Only (org-level enforcement)”
KeyPurpose
allowManagedPermissionRulesOnlyEnforce only managed rules
disableBypassPermissionsModePrevent bypass mode
disableAutoModePrevent auto mode
// .claude/settings.json — shared team settings
{
"permissions": {
"allow": ["Bash(npm run *)", "Bash(git *)"]
}
}
// .claude/settings.local.json — personal overrides
{
"model": "claude-opus-4-8",
"theme": "light"
}
// ~/.claude/settings.json — applies to all projects
{
"autoMemoryEnabled": true,
"theme": "dark"
}
  • Trick: MLPU — Managed > Local > Project > User (“My Laptop, Project, User”).
  • settings.json = flags made permanent.
  • Show: set the same key in project and user scope — watch who wins.
  • They’ll trip on: editing user settings when they meant project (or vice versa).

Learning path:11-real-world-workflows.md · Index · ➡ 13-model-config-env-vars.md

Written by Fenil Patel