Configure Claude Code with settings.json

memory & settings

// what it does

settings.json layers by scope: user (~/.claude/settings.json), project (.claude/settings.json, committed), local (.claude/settings.local.json, gitignored), and managed policy (IT-deployed, highest priority). Higher scopes override lower ones for a given key, except permission rules, which merge across all scopes. Run /config to edit interactively, or /status to see which files loaded.

// shell

$ ~/.claude/settings.json
$ .claude/settings.json
$ .claude/settings.local.json

// gotcha

Most keys hot-reload when you save the file — permissions, hooks, env, apiKeyHelper — but model needs /model to switch mid-session and outputStyle needs /clear or a restart. A settings file with broken JSON is silently skipped and won't appear in /status.

// resources