[BUG] Windows: Drive letter case mismatch between VS Code extension and terminal prevents .claude.json project settings and MCP config from being shared
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug Description
On Windows, Claude Code launched from the VS Code extension and from a standalone terminal resolve the project root path with different drive letter casing. This causes project-level configuration in .claude.json — including project identification, MCP server definitions, allowed/denied tools, and other project-scoped settings — to not be shared between the two environments.
- VS Code extension normalizes the drive letter to lowercase:
c:\Users\MyName\Projects\my-project - System terminal (cmd / PowerShell) uses the uppercase default:
C:\Users\MyName\Projects\my-project
Since Windows file paths are case-insensitive, both paths refer to the exact same directory on disk, but Claude Code uses the path string (including drive letter casing) as part of the project identity, causing it to treat them as two separate projects.
Affected Configuration
The following settings in .claude.json is impacted:
- MCP server configuration — MCP servers configured via VS Code's Claude Code are not available when launching
claudefrom the terminal, and vice versa. - Project identification — Claude Code does not recognize the project as the same one, so project-scoped preferences (allowed tools, permissions, model overrides, etc.) are lost across environments.
- Any other config that is keyed or scoped by the resolved project path.
What Should Happen?
Expected Behavior
Claude Code should treat c:\Users\MyName\Projects\my-project and C:\Users\MyName\Projects\my-project as the same project on Windows, and all .claude.json settings (including MCP configuration) should be shared seamlessly between VS Code and terminal usage.
Actual Behavior
Claude Code treats the two paths as belonging to different projects. MCP servers, tool permissions, and other project-scoped settings configured in one environment are invisible in the other.
Error Messages/Logs
Steps to Reproduce
- On Windows, open a project folder in VS Code via File → Open Folder (e.g.,
C:\Users\MyName\Projects\my-project). - Launch Claude Code from the VS Code extension panel.
- Configure project-level settings, such as:
- Add an MCP server (e.g., via
/mcpcommand or editing.claude.json). - Allow specific tools for the project.
- Verify the settings work within VS Code's Claude Code.
- Open a standalone terminal (Windows Terminal / PowerShell / cmd).
- Navigate to the same directory:
cd C:\Users\MyName\Projects\my-project - Run
claude. - Observe that:
- MCP servers configured in step 3 are not available.
- Project-level tool permissions and other settings are not applied.
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.72
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
Suggested Fix
On Windows, Claude Code should normalize the drive letter casing (e.g., always uppercase, or always lowercase) before using the project path for:
- Project identity / matching
- Configuration file lookup and keying
- Any internal path comparison
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗