Claude Code reads configuration from JSON settings files. Settings are layered: project-level settings override user-level settings, and managed (enterprise) settings override everything.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/VineeTagarwal-code/claude-code/llms.txt
Use this file to discover all available pages before exploring further.
Settings file locations
- User (global)
- Project (local)
- Managed (enterprise)
Settings hierarchy
Settings are merged in the following order, from lowest to highest precedence:- User settings —
~/.claude/settings.json - Project settings —
.claude/settings.json - Local settings —
.claude/settings.local.json - CLI flag settings — passed via
--settingsflag - Managed settings — set by enterprise administrators
allow and deny lists) are typically merged, not replaced.
Using the /config command
Run /config (or /settings) inside a Claude Code session to open the interactive settings panel. You can view the current effective settings and edit individual values without touching the JSON files directly.
Adding a JSON Schema
Add the$schema field to get autocompletion and validation in editors that support JSON Schema:
Settings reference
Authentication
Path to a script that outputs authentication values. Use this instead of setting
ANTHROPIC_API_KEY directly when you need dynamic key rotation or custom auth flows.Path to a script that exports AWS credentials for Bedrock usage.
Path to a script that refreshes AWS authentication.
Command to refresh GCP authentication (for example,
gcloud auth application-default login).Model selection
Override the default model used by Claude Code. Accepts a full model ID such as
claude-opus-4-6.Enterprise allowlist of models that users can select. Accepts family aliases (
"opus" allows any opus version), version prefixes, or full model IDs. If unset, all models are available. If set to an empty array, only the default model is available.Persisted effort level for supported models. Controls how much extended thinking the model uses.
Permissions
Tool usage permissions configuration. See Permissions for full details.
Hooks
When
true, disables all hook and status line execution.MCP servers
MCP server configurations keyed by server name. See MCP Servers for full details.
Environment
Environment variables to set for all Claude Code sessions. Values are strings.
Default shell for
!-prefixed input commands. Defaults to bash on all platforms.Appearance and behavior
Controls the output style for assistant responses.
Preferred language for Claude responses and voice dictation. For example:
"japanese", "spanish".When
true, disables syntax highlighting in diffs.Reduces or disables animations (spinner shimmer, flash effects, etc.) for accessibility.
Whether to show tips in the loading spinner.
Customize spinner verbs.
mode: "append" adds to defaults; mode: "replace" uses only your verbs.When
false, extended thinking is disabled. When absent or true, thinking is enabled automatically for supported models.When
true, enables fast mode (uses a smaller, faster model for responses).Session and context
Number of days to retain chat transcripts. Defaults to 30. Setting to
0 disables session persistence entirely: no transcripts are written and existing ones are deleted at startup.Whether the file picker respects
.gitignore files. Defaults to true. Note: .ignore files are always respected regardless of this setting.Deprecated. Use
attribution instead. Whether to include Claude’s co-authored-by attribution in commits and PRs. Defaults to true.Customize attribution text for commits and pull requests.Setting either field to an empty string hides that attribution entirely.
Include built-in commit and PR workflow instructions in Claude’s system prompt. Defaults to
true.Auto-updates
Release channel for automatic updates.
"stable" receives fewer, more thoroughly tested updates. "latest" receives updates as soon as they are released.Minimum version to stay on. Prevents downgrades when switching to the
stable channel.Worktrees
Git worktree configuration for the
--worktree flag.symlinkDirectories: Directories to symlink from the main repository into worktrees to avoid disk bloat. No directories are symlinked by default.sparsePaths: Directories to include when creating worktrees via git sparse-checkout (cone mode). Dramatically faster in large monorepos.
Memory
Enable auto-memory for this project. When
false, Claude will not read from or write to the auto-memory directory.Custom directory path for auto-memory storage. Supports
~/ prefix for home directory expansion. When unset, defaults to ~/.claude/projects/<sanitized-cwd>/memory/.Remote sessions
Remote session configuration.
SSH connection configurations for remote environments. Typically set in managed settings by enterprise administrators.
Status line
Custom status line display configuration.
File suggestions
Custom file suggestion configuration for
@ mentions.Plans directory
Custom directory for plan files, relative to the project root. Defaults to
~/.claude/plans/.Privacy and telemetry
Skip the WebFetch blocklist check. Use in enterprise environments with restrictive security policies that block Anthropic’s blocklist endpoint.
Probability (0–1) that the session quality survey appears when eligible. For example,
0.05 means a 5% chance per eligible session.Example settings files
The
$schema field enables autocompletion and inline validation in editors like VS Code and JetBrains IDEs when you open your settings file.Enterprise managed settings
Enterprise administrators can push settings to all users through MDM, Group Policy, or a managed-settings file placed at the platform-specific managed path. Managed settings take the highest precedence and cannot be overridden by users or project settings. You can also place drop-in JSON files in amanaged-settings.d/ directory alongside the main managed-settings.json file. Drop-ins are merged alphabetically on top of the base file, letting separate teams ship independent policy fragments without coordinating edits to a single file.
Key enterprise-only fields include:
allowedMcpServers— allowlist of MCP servers users may adddeniedMcpServers— blocklist of MCP servers that are always blockedavailableModels— restricts which models users can selectallowManagedHooksOnly— only run hooks defined in managed settingsallowManagedPermissionRulesOnly— only use permission rules from managed settingsstrictPluginOnlyCustomization— require customizations to come through approved plugins