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:

  1. Once as "user's private global instructions for all projects" with path C:\Users\<user>\.claude\CLAUDE.md
  2. 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.md at the project root, which loads correctly as a third entry

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗