startup loaded at session start
lazy loaded on demand
dynamic assembled per-session
per-turn recomputed each message
Loading sequence overview
Context loading sequence
Priority order — lowest loaded first, highest wins
1. Managed policy (lowest priority, loaded first) /etc/claude-code/CLAUDE.md Linux/WSL — managed rules dir /Library/Application Support/ClaudeCode/CLAUDE.md macOS — managed rules dir + rules/*.md 2. Settings (merged lowest → highest priority) ~/.claude/settings.json Global user settings .claude/settings.json Project settings 3. User-level CLAUDE.md (global preferences) ~/.claude/CLAUDE.md Personal global rules ~/.claude/rules/*.md Global rules directory 4. Auto memory (project-scoped learnings) ~/.claude/projects/<sanitized-cwd>/memory/MEMORY.md Auto-generated notes + topics/*.md 5. Directory walk: root → CWD (ancestors first, lower priority) /parent/CLAUDE.md Ancestor directories /parent/CLAUDE.local.md Ancestor local overrides 6. Project root (CWD) — main project context ./CLAUDE.md Project root ./CLAUDE.local.md Personal overrides .claude/CLAUDE.md Dot-claude dir 7. Rules directory (modular, team-shared) .claude/rules/*.md (recursive) Modular rules — can be path-scoped 8. @imports (expanded from any CLAUDE.md) @path/to/file references (max depth: 5) README, package.json, docs, etc. 9. Skills (on-demand, loaded when relevant) .claude/skills/*.md Project skills ~/.claude/skills/*.md Global skills 10. Subdirectory CLAUDE.md (lazy, on file access) ./packages/api/CLAUDE.md (on demand) Loaded when Claude works in that subdirectory 11. MCP servers + tools (connected at startup) .mcp.json Project MCP config ~/.claude/mcp.json Global MCP config 12. System prompt + your prompt (highest priority) System prompt Anthropic built-in + tools Your prompt Highest attention weight ← low priority (loaded first) — high priority (loaded last) → Startup (always loaded) On-demand (lazy loaded)
Phase details