Config Files
~/.claude/settings.json
User settings
.claude/settings.json
Project (shared)
.claude/settings.local.json
Local only
~/.claude.json
OAuth, MCP, state
.mcp.json
Project MCP servers
Key Settings
modelOverrides
Map model picker → custom IDs
worktree.sparsePaths
Sparse checkout dirs
autoMode.$defaults
Extend built-in auto mode rules instead of replacing
skillOverrides
Control skill visibility: off/user-invocable-only/name-only
autoMode.hard_deny
Block unconditionally regardless of user intent or allow exceptions
workflowKeywordTrigger
Explicit phrases only ('run a workflow', 'workflow:'); purple shimmer NEW
disableAllHooks
Disable all hooks via settings.json / managed settings
allowManagedHooksOnly
Restrict hook execution to managed (org) hooks only
requiredMinimumVersion / requiredMaximumVersion
Managed settings; refuses start if version outside allowed range
fallbackModel
Up to 3 fallback models tried in order when primary is overloaded
deny: tool-name glob
* denies all; Tool(param:value) matches input params; allow rejects non-MCP NEW
disableBundledSkills
Hide bundled skills, workflows, and built-in slash commands from model
enforceAvailableModels
Managed setting; availableModels constrains Default model, prevents widening
language
Pin session title language (overrides auto-detection) NEW
footerLinksRegexes
Regex-matched link badges in footer row (user or managed) NEW
sandbox.allowAppleEvents
Opt-in: let sandboxed commands send Apple Events on macOS NEW
Key Env Vars
ANTHROPIC_API_KEY
API key
ANTHROPIC_MODEL
Default model
CLAUDE_CODE_EFFORT_LEVEL
low/med/high
MAX_THINKING_TOKENS
0=off; disables thinking on models that think by default
CLAUDE_EFFORT
Current effort level in hooks and Bash tool
CLAUDE_PROJECT_DIR
Project dir passed to MCP stdio servers and hooks env
CLAUDE_CODE_WORKFLOWS
Enable Workflow tool for multi-agent orchestration
CLAUDE_CODE_SESSION_ID
Session ID passed to stdio MCP server subprocesses (also on --resume)
CLAUDE_CODE_ENABLE_AUTO_MODE
Enable auto mode on Bedrock/Vertex/Foundry for Opus 4.7/4.8
CLAUDE_CODE_SUBAGENT_MODEL
Set model for subagents and agent-team teammates
MCP_TOOL_TIMEOUT
Raise per-request MCP tool timeout above 60s default
CLAUDE_CODE_SAFE_MODE
Env var equivalent of --safe-mode flag
CLAUDE_CODE_DISABLE_BUNDLED_SKILLS
Env var equivalent of disableBundledSkills setting
CLAUDE_CLIENT_PRESENCE_FILE
Marker file to suppress push notifications while at the machine NEW
Hooks
PreToolUse
Before tool executes
PostToolUse
After tool executes (duration_ms; can replace output)
Notification
When Claude sends notification
Stop
When Claude finishes response (background_tasks, session_crons)
SubagentStop
When subagent finishes (background_tasks, session_crons)
mcp_tool type
Invoke MCP tool directly from hook
args: string[]
Hook exec form — spawn directly without shell
continueOnBlock
PostToolUse: feed rejection reason back, continue turn
hookSpecificOutput.additionalContext
Stop/SubagentStop: give Claude feedback, continue turn
SessionStart
Run on session start/resume; set title, reload skills
ConfigChange
Fire when settings files change (hot-reload)