LSP tool: uv_spawn cannot find typescript-language-server despite being in PATH (Windows)
Open 💬 8 comments Opened May 14, 2026 by ytchenak
Description
The LSP tool fails with ENOENT: no such file or directory, uv_spawn 'typescript-language-server' even though the binary is globally installed and available in PATH.
Environment
- OS: Windows 11 Pro 10.0.26100
- Shell: bash (Git Bash)
- Node manager: nvm via scoop
- typescript-language-server: 5.2.0 (installed globally via npm + locally as devDep)
- Plugin:
typescript-lsp@claude-plugins-officialv1.0.0 enabled
Steps to Reproduce
- Install
typescript-language-serverglobally:npm install -g typescript-language-server typescript - Verify it's in PATH:
which typescript-language-server→/c/Users/<user>/scoop/apps/nvm/current/nodejs/nodejs/typescript-language-server - Enable
typescript-lsp@claude-plugins-officialplugin - Use the LSP tool:
````
LSP({ operation: "documentSymbol", filePath: "libs/ui/src/lib/button/button.ts", line: 1, character: 1 })
Expected Behavior
LSP tool finds and spawns typescript-language-server using the same PATH available to Bash tool.
Actual Behavior
Error performing documentSymbol: ENOENT: no such file or directory, uv_spawn 'typescript-language-server'
Analysis
which typescript-language-serverworks in Bash tool → binary is in PATHecho $PATHshows/c/Users/<user>/scoop/apps/nvm/current/nodejs/nodejsis present- The binary also exists at
node_modules/.bin/typescript-language-server(installed as devDep) uv_spawnused by the LSP tool does not appear to inherit the same PATH that the Bash tool uses- Restarting the Claude Code session does not resolve the issue
Workaround
None found. The LSP tool appears to use a different PATH resolution mechanism (uv_spawn) than the Bash tool.
This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗