[BUG] LSP tool prints Windows file locations as /c:/Users/..., which Read and the shell reject
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?
On Windows, every LSP tool result that names a file prints it as /c:/Users/..., with a slash before the drive letter. That is the path part of the file:///c:/... URI rather than a Windows path, and neither tool takes it as given: Read answers "File does not exist", and Git Bash's cat answers "No such file or directory".
It shows up in findReferences, workspaceSymbol and incomingCalls. hover and documentSymbol print no paths.
What Should Happen?
File locations come back as Windows paths, the form Read, Edit and the shell accept: C:\Users\...\a.ts or C:/Users/.../a.ts.
Error Messages/Logs
Found 1 symbol in workspace:
/c:/Users/<user>/AppData/Local/Temp/lsp-repro/a.ts:
greet (Function) - Line 1
Found 1 incoming call:
/c:/Users/<user>/AppData/Local/Temp/lsp-repro/b.ts:
b.ts (Module) - Line 1 [calls at: 3:32, 4:22]
findReferences prints the same form: /c:/Users/<user>/AppData/Local/Temp/lsp-repro/a.ts:1:17.
Steps to Reproduce
- On Windows, enable a TypeScript code intelligence plugin. I run
typescript-language-server6.0.1 over stdio, the server the officialtypescript-lspplugin starts. - In a folder with a
tsconfig.json, createa.ts:
``ts``
export function greet(name: string): string {
return "hi " + name;
}
and b.ts:
```ts
import { greet } from "./a";
export const message: string = greet("y");
export const again = greet("z");
```
- Ask Claude to load the LSP tool and run
workspaceSymbolforgreet,incomingCallsongreetandfindReferenceson it. - Every location in the results starts with
/c:/.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.295 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Non-interactive/CI environment
Additional Information
Windows 11 Pro 26200, reproduced with claude -p. It looks like a location's file: URI is printed by its URL path instead of being converted to a filesystem path, which comes out the same on macOS and Linux but not on Windows.