Global ~/.claude/CLAUDE.md loaded twice on Windows (case-insensitive path dedup)
Resolved 💬 3 comments Opened Feb 8, 2026 by Ohsik7322 Closed Feb 12, 2026
Description
On Windows, the global ~/.claude/CLAUDE.md file is loaded twice into the conversation context:
- Once as "user's private global instructions for all projects" with path
C:\Users\<user>\.claude\CLAUDE.md - Once as "project instructions, checked into the codebase" with path
c:\Users\<user>\.claude\CLAUDE.md
These are the same file — Windows paths are case-insensitive, so C: and c: resolve identically. The second load also mislabels it as "project instructions, checked into the codebase" when it is the global file.
Impact
- Wastes context window on duplicate content (the full global CLAUDE.md appears twice)
- Mislabels the second copy, which could confuse the model about instruction provenance
Expected behavior
The global ~/.claude/CLAUDE.md should be loaded exactly once, with the correct label. Path deduplication should be case-insensitive on Windows.
Environment
- OS: Windows 11
- Claude Code: VS Code extension
- The project also has its own
.claude/CLAUDE.mdat the project root, which loads correctly as a third entry
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗