Inconsistent path casing between CLI and VS Code extension for project MCP settings (Windows)
Version: Claude Code 2.1.15
OS: Windows 11 Pro (64-bit)
Editor: VS Code Insiders
Description
On Windows, the CLI and VS Code extension use different path casings when persisting per-project settings (including MCP server disabled state). This causes settings to not sync between the two interfaces.
Evidence
Project folders in ~/.claude/projects/ show inconsistent drive letter casing:
C--App-project-a (uppercase C)
c--App-project-b (lowercase c)
C--App-project-c (uppercase C)
c--App-project-d (lowercase c)
c--App-project-e (lowercase c)
C--WINDOWS-system32 (uppercase C)
Root Cause
Windows paths are case-insensitive, but when computing the project folder name (path with separators replaced by dashes), the CLI and VS Code extension don't normalize the drive letter casing. One may use c:\App\... while the other uses C:\App\....
Impact
- MCP server disabled/enabled state set in VS Code may not be recognized by CLI (or vice versa)
- Per-project permissions may not sync between interfaces
- Confusing UX where settings appear to be lost when switching interfaces
Suggested Fix
Normalize paths to consistent casing (e.g., lowercase on Windows) before computing the project identifier hash/folder name.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗