原文(日本語に翻訳)
不正なファイルURIのためにWindowsでLSPサーバーが動作しない問題を修正
原文(英語)
Fixed LSP servers not working on Windows due to malformed file URIs
概要
Windows環境でClaude Codeに組み込まれたLSP(Language Server Protocol)サーバーが、ファイルURIの形式不正により動作しない問題が修正されました。WindowsではファイルURIに特有の形式(file:///C:/path/to/file)が必要ですが、この形式が正しく生成されていなかったため、コード補完や定義ジャンプなどのLSP機能が機能しませんでした。修正後はWindowsユーザーもLSP機能を正常に利用できます。
基本的な使い方
このバグ修正はユーザー操作不要で自動的に適用されます。Windowsでのファイル操作がLSPツールで正常に動作するようになります。
実践例
LSPツールが正しく動作する例(修正後)
# Windowsパスを含む操作
# 修正前: C:\Users\username\project\src\index.ts を認識できない
# 修正後: file:///C:/Users/username/project/src/index.ts として正しく処理
# コードの定義ジャンプ
# 修正前: エラーまたは無応答
# 修正後: 正常に定義位置にジャンプLSP設定の確認
bash
# Windows での Claude Code 設定確認
claude --lsp-status
# または設定ファイルで LSP を確認
# %APPDATA%\Claude\settings.jsonLSPサーバーのデバッグ
bash
# LSP通信のデバッグログを有効化(Windows PowerShell)
$env:CLAUDE_LSP_DEBUG = "1"
claude
# ログファイルの確認
# %APPDATA%\Claude\logs\lsp.logWindows パス形式の違い
# Windows ファイルシステムパス
C:\Users\username\project\src\index.ts
# 正しいファイルURI形式(修正後に正しく生成)
file:///C:/Users/username/project/src/index.ts
# 修正前に生成されていた不正な形式の例
file://C:\Users\username\project\src\index.ts # バックスラッシュが問題WSL2環境での注意点
WSL2(Windows Subsystem for Linux)を使用している場合:
bash
# WSL2 内での Claude Code は Linux パスを使用
# これは別のコードパスで修正が不要
claude --version # WSL2 内なら Linux バイナリが使用される
# Windows ネイティブ版が必要な場合は PowerShell/CMD から実行注意点
- この修正はWindowsネイティブ環境(PowerShell、コマンドプロンプト)に影響します
- WSL2内でClaude Codeを実行している場合は影響ありません
- Git Bash等のUNIXライクな環境でもWindowsパスを使う場合に影響がある可能性があります
- LSPサーバーは言語ごとに独立しているため、影響を受ける言語は設定によって異なります