Claude Code Kit

Claude Code settings.json Builder and Validator

Build a file from the common keys, or paste yours to check syntax, key names, and rule shape.

Builder

settings.json

Validator

What the validator checks

It is not a full schema check. For that, use the SchemaStore schema in your editor.

Keys this tool knows

KeyTypeNotes
$schemastringSchema URL for editor autocomplete
modelstringDefault model
effortLevelstringDefault effort level
permissionsobjectallow, ask, deny, defaultMode, additionalDirectories
hooksobjectEvent name to array of matcher groups
envobjectEnvironment variables set for each session
statusLineobjectCustom status line command
outputStylestringOutput style name
cleanupPeriodDaysnumberHow long to keep transcripts
apiKeyHelperstringScript that returns an auth value
disableAllHooksbooleanTurns off every hook
disableSkillShellExecutionbooleanBlocks !`cmd` injection in skills
skillOverridesobjectPer-skill on, off or name-only
enabledPluginsobjectPlugin id to true or false
sandboxobjectSandbox settings
attributionobjectCommit and PR attribution text
languagestringResponse language

Claude Code has more settings than this list. An unrecognized key gets a warning, not an error. Full list: the settings reference in the Claude Code docs.

Which file to use

PriorityFileUse for
1Managed settingsOrganization policy
2claude --settingsOne session
3.claude/settings.local.jsonYour overrides in one project, not committed
4.claude/settings.jsonRules the whole team shares
5~/.claude/settings.jsonYour defaults everywhere

Checked against code.claude.com/docs/en/settings on 2026-10-20. unverified: whether array keys such as permissions.allow merge across files or are replaced; test with /status and /permissions.

FAQ

Where is the Claude Code settings.json file?

User: ~/.claude/settings.json. Shared project: .claude/settings.json. Personal project: .claude/settings.local.json. Managed settings can also come from your organization.

Which settings file wins?

From highest to lowest: managed settings, command line (--settings), project local, shared project, user. A key set at a higher level overrides the same key lower down.

Can settings.json have comments?

No. Settings files are strict JSON. A // comment or a trailing comma is a syntax error and Claude Code reports a Settings Error at the next start.

How do I get autocomplete for settings.json?

Add "$schema": "https://json.schemastore.org/claude-code-settings.json" at the top. The schema can lag behind new releases, so a warning on a new key is not proof it is wrong.

How do I check that my settings loaded?

Run /status inside Claude Code. The Setting sources line shows which files were read and reports a broken file.