Skip to main content
SEP 2026 Latest guide updates. Latest: Skill Governance Skill Lifecycle Skills vs Harnesses Changelog →
T05 Beginner Technical

Configuration Hierarchy

Where to configure what, from global to local

Configuration Levels

LevelFileScopeGit
Global user~/.claude/settings.jsonAll projectsNo
Global rules~/.claude/CLAUDE.mdAll projectsNo
Shared project.claude/settings.jsonTeamYes
Local project.claude/settings.local.jsonPersonalNo
Project rulesCLAUDE.md (root)TeamYes
Subfoldersubfolder/CLAUDE.mdFolderYes

Conflict Resolution

~/.claude/CLAUDE.md (1 - global base)
↓ + merge
./CLAUDE.md (2 - project rules)
↓ + merge
subfolder/CLAUDE.md (3 - local rules)
↓ + merge
@explicit import (4 - inline import)

Rules at a lower level supplement rather than replace higher levels.

settings.json: Structure

{
"model": "claude-opus-4-5",
"permissions": {
"allow": ["Bash(git *)"],
"deny": ["Bash(rm -rf*)"]
},
"env": {
"ANTHROPIC_LOG": "error"
}
}

CLAUDE.md: Best Practices

# Project Conventions
## Stack
- TypeScript strict mode
- pnpm (not npm)
- Tests: Vitest
## Rules
- Always check types before modifying
- Commits in English
- Never modify package-lock.json

What Goes Where

Global CLAUDE.md: personal preferences, code style, universal conventions.

Project CLAUDE.md: architecture, stack, team conventions, build/test commands.

Project settings.json: tool permissions, default model, dev environment variables.

settings.local.json: personal overrides that should not affect the team.

Required .gitignore

# In the project .gitignore
.claude/settings.local.json

Enter your email to read the full card and get the complete PDF bundle.

All content is free and open-source. We just ask for your email.

PDF: