Lesson
Organizing Personal and Project Settings in Claude Code
Split configuration into project-wide settings checked into Git and personal settings ignored by Git; understand how they merge.
- Access
- Included
- Transcript
- Needs source
Organizing Claude Code settings keeps the team aligned. Separate project rules from personal tweaks so the repo stays clean and flexible.
Ignore personal settings
Add to .gitignore:
.claude/settings.local.json
Personalize locally
Use the local file for machine-specific tweaks (paths, extra directories):
{
"permissions": { "allow": [], "deny": [], "ask": [] },
"additionalDirectories": ["/Users/you/dev/docs"]
}
Share team rules
Commit .claude/settings.json for org-wide policies (e.g., deny reading .env):
{
"permissions": {
"allow": [],
"deny": ["Read(.env)"],
"ask": []
}
}
Merge semantics
Settings combine; they don’t override. A project-level deny cannot be undone by a local allow.