Claude Media
Claude CodeでRiderがWSLパスを返しIDE接続に失敗するときの対処

Claude CodeでRiderがWSLパスを返しIDE接続に失敗するときの対処

WSLを入れていないWindowsで、JetBrainsプラグインがlockファイルに/mnt/c/形式のパスを書き、/ideが「directories do not match」で失敗する症状の確認方法と回避策です。

WSLを入れていないWindowsで、Rider内のターミナルから claude を起動して /ide を実行すると、IDEが見つからないと言われることがあります。メッセージは「No available IDEs detected」に続けて、IDEの作業ディレクトリが現在のcwdと一致しないという内容です。原因として報告されているのは、JetBrainsプラグインが書くlockファイルの workspaceFolders が C:\Users\... ではなく /mnt/c/Users/... の形になっていることです。

この記事は、その症状の見分け方と、報告者が見つけた回避策を3つ並べます。恒久的な修正はまだ入っていません。

どんな症状か

報告されている表示は次のとおりです。IDE自体は検出されているのに、パスが合わないために除外されています。

No available IDEs detected. Please install the plugin and restart your IDE.
Found 1 other running IDE(s). However, their workspace/project
directories do not match the current cwd.
● JetBrains Rider: /mnt/c/Users/<user>/source/repos/<project>

最後の行が決め手です。PowerShellのcwdは C:\Users\... のネイティブ形式なのに、IDE側のパスだけが /mnt/c/ で始まります。WSLを使っていない環境では、この形のパスが出る理由がありません。

報告された環境

最初の報告(anthropics/claude-codeのissue #75498)の環境は次のとおりです。

  • Windows 11、WSL未設定、PowerShell
  • JetBrains Rider、Claude Code JetBrainsプラグイン0.1.14-beta
  • Claude Code 2.1.204

Rider 2026.1.3では同じプラグイン版で動いていて、2026.1.4に上げてから失敗するようになったと書かれています。Claude Code本体も同じ期間に更新されているため、報告者自身が原因をIDE側の変更と断定してはいません。

症状はRiderに限りません。後から付いたコメントでは、IntelliJ IDEA 2026.2、プラグイン0.1.14-beta、Windows 11でも同じ形のパスが出たと報告されています。この環境は wsl -l が「インストールされたディストリビューションがありません」を返す状態でした。

lockファイルで原因を確かめる

JetBrainsプラグインは、IDEの起動ごとに接続情報をlockファイルへ書き出します。保存先は ~/.claude/ide/<port>.lock で、CLAUDE_CONFIG_DIR を設定している場合は $CLAUDE_CONFIG_DIR/ide/ です。Windowsなら %USERPROFILE%\.claude\ide\ の下にポート番号のファイルができます。

Get-ChildItem "$env:USERPROFILE\.claude\ide" -Filter *.lock |
  ForEach-Object { Get-Content -Raw $_.FullName }

報告された症状では、中身が次のようになっています。

{
  "workspaceFolders": ["/mnt/c/Users/<user>/source/repos/<project>"],
  "ideName": "JetBrains Rider",
  "transport": "ws",
  "runningInWindows": true
}

runningInWindows が true なのに、workspaceFolders がWSL形式です。コメントでは、プラットフォームの判定はできているのに、パスを書き出す段階でその結果が使われていないように見える、と指摘されています。

lockファイルの workspaceFolders が C:\ で始まっているなら、この記事の症状ではありません。プラグインが未導入・無効のケースやWSL2のネットワークの問題は、Claude Code JetBrainsプラグインの導入と設定の該当節で扱っています。

回避策1: ドライブ自動マッピングをオフにする

いちばん手数が少ないのは、Rider側の設定を変える方法です。issueのコメントに、次の手順で解消したと書かれています。

  1. Settings を開き、Tools の Claude Code [Beta] を選ぶ
  2. Enable automatic Windows drive mapping (C:\ to /mnt/c/) のチェックを外す
  3. Riderを再起動し、lockファイルの中身をもう一度見る

この設定名は、C:\ を /mnt/c/ に変換する機能を指しているように読めます。ただし、JetBrainsプラグインの公式ページにはこの設定の説明がありません。コメントは1件の報告で、効果を確かめたのもその人だけです。チェックを外したあとは、必ずlockファイルで workspaceFolders が C:\ 形式に変わったかを確認してください。

lockファイルはIDEの起動ごとに書き直されます。設定を変えた直後の既存ファイルは古いままなので、再起動前後の比較が確認の手段になります。

回避策2: lockファイルを書き換える

設定項目が見当たらない版や、チェックを外しても直らない場合の手段です。issueの報告者は、Riderが動いている間にlockファイルの workspaceFolders を手で C:\ 形式に直すと、/ide が接続できたと書いています。切り分けとしても使えます。パス形式が食い違っているだけで、認証や通信には問題がないとわかるためです。

ただし、この修正は永続しません。ポート番号(ファイル名)と authToken はIDEを起動するたびに作り直されるので、固定はできず、起動のたびに直す必要があります。コメントには、/mnt/<ドライブ>/ を <ドライブ>:\ に変換するPowerShell関数が載っています。要点だけ抜き出すと次の形です。

$dir = Join-Path $env:USERPROFILE '.claude\ide'
foreach ($f in Get-ChildItem $dir -Filter *.lock -File) {
  $j = Get-Content -Raw -LiteralPath $f.FullName | ConvertFrom-Json
  $j.workspaceFolders = @($j.workspaceFolders | ForEach-Object {
    if ($_ -match '^/mnt/([a-zA-Z])/(.*)$') {
      '{0}:\{1}' -f $Matches[1].ToLower(), ($Matches[2] -replace '/', '\')
    } else { $_ }
  })
  $j | ConvertTo-Json -Compress -Depth 10 |
    Set-Content -LiteralPath $f.FullName -Encoding utf8 -NoNewline
}

これは公式の手順ではなく、コメント投稿者のスクリプトを縮めたものです。authToken を含むファイルを書き換えるので、実行前に対象がlockファイルだけであることを確かめてください。コメントの元の関数は、$PROFILE に入れて繰り返し実行しても安全な形にしてあります。

流れは「Riderを起動する、スクリプトを実行する、claude で /ide を打つ」です。Riderを再起動したら、もう一度スクリプトが必要になります。

回避策3: Alt+Ctrl+Kの参照が壊れるとき

同じ不具合には、/ide の接続とは別の表れ方があります。ファイル参照を挿入するショートカット Alt+Ctrl+K(WindowsとLinux)で、挿入される参照が壊れるのです。

コメントによると、プラグインはファイルパスをWSL形式のプロジェクトルートからの相対パスにするため、次のような参照が入ります。

@..\mnt\d\My Project\entities\note.md#L24-44

cwdが D:\My Project なら、これは D:\mnt\d\My Project\... と解釈され、実在しないパスになります。@entities/note.md#L24-44 と手で書けば解決できるので、@ の解決は正常で、挿入時のパス計算だけが誤っていることになります。

回避策として、壊れた相対パスの行き先にジャンクションを作る方法が紹介されています。管理者権限は不要で、IDEやプラグインの更新後も残ります。

New-Item -ItemType Directory -Path 'D:\mnt\d' -Force
New-Item -ItemType Junction -Path 'D:\mnt\d\My Project' -Target 'D:\My Project'

D: と My Project は例です。自分のドライブ名とプロジェクトのパスに置き換えます。ジャンクションは実体のコピーではなく別名なので、ディスク容量は増えません。参照を手で書く手間が気にならないなら、このジャンクションは作らずに済ませる選択もあります。

手段の使い分け

状況試す順序理由
まず直したい試す順序回避策1の設定変更理由起動のたびの作業が要らない
設定項目がない、または効かない試す順序回避策2のスクリプト理由起動のたびに実行が必要
Alt+Ctrl+K の参照だけ壊れる試す順序回避策3のジャンクション理由設定やlockファイルとは別の経路

公式ページには、IDEの統合ターミナルから claude を起動すれば全機能が有効になるとあります。報告された症状は統合ターミナルから /ide を実行した場合です。統合ターミナルで自動接続できても、Alt+Ctrl+K の参照は別に壊れている可能性があります。

つまずきやすい点

  • WSL2の症状と取り違える: WSL2からWindows側のIDEに繋がらない問題は、NATネットワークやファイアウォールが原因です。lockファイルのパスは正常で、直し方も違います。lockファイルを開いて、workspaceFolders の形で先に見分けます
  • cwdがプロジェクトルートでない: 公式ページは、IDEと同じファイルをClaudeに見せたいなら、IDEのプロジェクトルートから起動するよう案内しています。サブフォルダから claude を起動すると、パス形式が正しくても一致しない場合があります
  • lockファイルを直しても戻る: IDEを再起動すると新しいlockファイルが作られ、修正前の形に戻ります。「直ったのに翌朝また失敗する」場合はこれが原因です

報告の状態

issue #75498は、bug、platform:windows、area:ide、platform:intellij のラベルが付いた未解決の報告で、最後のコメントは2026年9月3日です。プラグインの修正版が出たかどうかは、JetBrainsのプラグイン画面の更新履歴で確かめられます。修正版が出れば、lockファイルを開いて C:\ 形式になっているかを確認するだけで済みます。

JetBrainsには、Claude Codeプラグインのほかに、IDE組み込みのClaude Agentもあります。接続の仕組みが異なるので、どちらを使っているかはJetBrainsのClaude AgentとClaude Codeプラグインの違いで確認できます。lockファイルと認証トークンの仕組みを知りたい場合は、IDE内蔵MCPサーバーのセキュリティモデルが詳しいです。WindowsにClaude Code自体を入れる段階の選択肢はClaude Codeのネイティブ版とWSLの選び方にあります。

直らないときに報告へ添える情報

issueの報告者は、症状の切り分けに必要な情報を揃えて書いていました。同じ症状に当たったときは、次の項目を集めておくと、すでにある報告に追記しやすくなります。

  • IDEの名前と版(例: Rider 2026.1.4)。前の版で動いていたなら、その版も
  • Claude Codeプラグインの版(0.1.14-beta)と、claude --version の出力
  • wsl -l の結果。WSLが未導入なら、その事実が切り分けの材料になります
  • lockファイルの中身。authToken は必ず伏せ、workspaceFolders と runningInWindows の行を載せます
  • 回避策1のチェックを外した前後で、lockファイルの形が変わったか

lockファイルには接続用のトークンが入っているので、貼り付ける前に値を <redacted> に置き換えます。

まとめ

症状の核心は、lockファイルの workspaceFolders が /mnt/c/ 形式になり、PowerShellのcwdと食い違うことです。まずlockファイルを開いて形を確かめ、次にRiderの Claude Code [Beta] 設定にあるドライブ自動マッピングのチェックを外してみます。効かなければ、起動ごとにlockファイルを書き換えるスクリプトで凌ぎます。Alt+Ctrl+K の参照が壊れる場合は、ジャンクションが別経路の回避策になります。いずれもissue上の報告で、プラグイン側の修正を待つ間の手段です。

この記事を共有:XはてブLinkedIn