pyright-lsp plugin fails with ENOENT uv_spawn on Windows

Resolved 💬 5 comments Opened Apr 11, 2026 by dillonvuong Closed Jun 23, 2026

Description

The pyright-lsp plugin fails to spawn pyright-langserver on Windows 11 with ENOENT: no such file or directory, uv_spawn 'pyright-langserver', despite the binary being installed and on the system PATH.

Environment

  • OS: Windows 11 Home 10.0.26200
  • Shell: Git Bash (via MINGW64)
  • Claude Code version: Latest (Opus 4.6 1M context)
  • Plugin: pyright-lsp@claude-plugins-official v1.0.0

Steps to Reproduce

  1. Enable plugin: pyright-lsp@claude-plugins-official: true in settings
  2. Install pyright via npm: npm install -g pyright (also tried pip install pyright)
  3. Verify binary is available: which pyright-langserver → found, pyright-langserver --stdio → starts successfully
  4. Verify Windows PATH includes the binary location: C:\Users\<user>\AppData\Roaming\npm confirmed via [Environment]::GetEnvironmentVariable('PATH', 'User')
  5. Restart Claude Code
  6. Use any LSP operation (e.g., findReferences)

Expected Behavior

LSP tool connects to pyright-langserver and returns code intelligence results.

Actual Behavior

Error performing findReferences: ENOENT: no such file or directory, uv_spawn 'pyright-langserver'

What I've Tried

  • pip install pyright → binary at AppData\Roaming\Python\Python314\Scripts\ (not on PATH initially)
  • Added to PATH via [Environment]::SetEnvironmentVariable and .bashrc
  • Copied binary to ~/bin (on Git Bash PATH)
  • npm install -g pyright → binary at AppData\Roaming\npm\ (confirmed on Windows system PATH)
  • 4+ restarts of Claude Code after each attempt
  • Confirmed Windows can spawn the process: Start-Process -FilePath 'pyright-langserver' succeeds in PowerShell

The binary is findable by both Git Bash and PowerShell but uv_spawn in the plugin process cannot resolve it. Suspect the Node.js/libuv process spawning in the plugin doesn't inherit or read the Windows user PATH correctly on Windows 11.

Plugin Cache Structure

~/.claude/plugins/cache/claude-plugins-official/pyright-lsp/1.0.0/
└── README.md  (no bin/ directory, no bundled binary — relies on system PATH)

🤖 Generated with Claude Code

View original on GitHub ↗

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