CLAUDE.md

Also: CLAUDE.md file, Claude memory file, project memory file, claude.md

CLAUDE.md is a Markdown file Claude Code reads at startup to load project-specific context, conventions, and instructions into every session.

CLAUDE.md is a plain Markdown file that Claude Code automatically loads as memory when it starts a session in your project. You use it to give Claude persistent, project-specific context it would otherwise have to rediscover each time — things like build and test commands, code style and conventions, architecture notes, directory layout, and “do this / don’t do that” rules. Because it is just Markdown, you edit it like any other file in your repo.

Claude Code reads CLAUDE.md from several locations and combines them. A file at the root of your project provides shared, team-wide context (commit it to version control so everyone benefits), and Claude also picks up CLAUDE.md files in subdirectories when it works in those areas. There is a user-level file at ~/.claude/CLAUDE.md for personal instructions you want across all your projects, plus an enterprise-policy location for organization-wide rules. These files layer together to form the full set of instructions Claude follows; you can also pull in other files with @path/to/file imports. See the official Claude Code docs for the exact file paths and import rules.

CLAUDE.md is part of Claude Code’s broader memory system and complements machine-readable configuration in settings.json: CLAUDE.md holds natural-language guidance for the model, while settings.json holds structured config like permissions and hooks. You can scaffold a starter file with the /init command, and quickly add a note to memory during a session by starting your message with #. Keep entries concise and high-signal — everything in CLAUDE.md consumes part of the context window.

Why it matters

A well-written CLAUDE.md is one of the highest-leverage ways to make Claude Code consistent and reliable on your codebase: it stops you from repeating the same setup, conventions, and constraints in every prompt, and it lets your whole team share one source of truth for how Claude should behave in the repo.

See CLAUDE.md in action across releases — browse the Claude Code changelog.

Get release alerts