All articles

Personal vs Project vs Local Memory

Claude Code gives you three kinds of memory file, and picking the right one keeps your guidance in the right hands.

Personal memory

~/.claude/CLAUDE.md is yours. It loads in every project you open, so it is the place for preferences that follow you everywhere — how you like commit messages formatted, your response-style habits, tools you always reach for. Nobody else sees it.

Project memory

./CLAUDE.md (or ./.claude/CLAUDE.md) belongs to the project and is shared with your team through git. This is where team-wide conventions live: build commands, architecture rules, gotchas everyone needs to know. Because it is checked in, one edit updates the guidance for the whole team.

Local memory

./CLAUDE.local.md is for private notes about one project. Add it to .gitignore so it never gets committed:

# .gitignore
CLAUDE.local.md

Use it for things that are specific to you and this repo but should not be forced on teammates — a personal scratch command, a reminder about your local setup, or a temporary rule you are trying out.

Choosing where a rule goes

Ask two questions. Does this apply to every project, or just this one? And should the whole team follow it, or only me? A rule for all your projects goes in personal memory. A rule for the whole team goes in project memory. A rule just for you on just this project goes in local memory. Get this split right and each file stays focused on the audience it serves.

Comments

Be the first to comment.