Claude Code config file locations
Find Claude Code user and project settings file locations on macOS, Linux, and Windows.
These paths assume Claude Code is launched from the project root. For ordinary conflicting settings, project-local settings take precedence over shared project settings, then user settings. Lists can merge across layers. Managed settings and CLI options can take precedence over these files.
Project local level
Local overridesPersonal settings for this project. Replace <project> with the project root from which you launch Claude Code.
Config file location
If you create this file manually, add it to .gitignore to keep personal settings out of shared commits.<project>/.claude/settings.local.jsonCommands
vi "<project>/.claude/settings.local.json"Shared project level
Project overridesShared settings for the project. Replace <project> with the project root from which you launch Claude Code.
Config file location
The file or its parent directory may not exist until you create project settings.<project>/.claude/settings.jsonCommands
vi "<project>/.claude/settings.json"User level
User defaultsApplies across projects. CLAUDE_CONFIG_DIR changes the global configuration directory.
Config file location
Default when CLAUDE_CONFIG_DIR is unset. The first command edits this file.~/.claude/settings.jsonUsed instead when CLAUDE_CONFIG_DIR is set. Use the second command only when this variable points to your configuration location. These are alternative paths for the same user settings.$CLAUDE_CONFIG_DIR/settings.jsonCommands
vi "$HOME/.claude/settings.json"vi "$CLAUDE_CONFIG_DIR/settings.json"
Official Claude Code documentation