おはようございます!マネジメントオフィスいまむらの今村敦剛です。
数時間にわたって格闘し、血と涙の果てにたどり着いた「Claude Code拡張機能がWSL環境のVS Codeでうんともすんとも言わない問題」の、いまのところの原因を備忘録代わりにまとめます。
VS Codeが見えてない
数日前にVS Code用のClaude Code拡張機能(公式)が公開されたので、ワクワクしながらセットアップを終えたのですが、拡張機能をインストールをしてもVS Codeと連携しないようなんですよね。
エディタでコードを選択して、Claude Codeに「これは何のコード?」と尋ねても、「どのコードのこと?」と知らんぷり。
接続確認コマンド /ide
を打ってみると、返ってくるのはこんな味も素っ気もないメッセージ。
完全に無視されています。
トラブルシューティング
「まあ、よくあることだから……」と自分に言い聞かせ、一つずつ問題を潰していくことに。
まず最初に気づいたのが、ターミナルで code
と打っても、VS Codeが起動しない問題。なんと、以前インストールして消したはずの別エディタ「Cursor」の残骸を参照しにいってました。
いったんサーバーをリセットしたら、無事に code
コマンドが本物のVS Codeを指すようになりました。しかし症状は一切改善しません。
ごちゃごちゃと試していたら、(どういう条件でだったかは忘れたが)/ide
コマンドが吐き出した別のエラーメッセージがヒントになりました。
Found 1 other running IDE(s). However, their workspace/project directories do not match the current cwd.
(他に実行中のIDEが1つ見つかったけど、作業場所が今の場所と違うよ)
VS Codeで開いてるプロジェクトの場所と、ターミナルの場所が違うのが原因かな?と、cd
コマンドでターミナルの場所をVS Codeと完全に一致させました。
これでどうだ!と/ide
を叩いても、やはり「利用可能なIDEが見つかりません」と、VS Codeの存在自体を認識してくれなくなりました。ただ、ここでパスの問題ではないかということにうっすらと気づき始めました。
パスの問題
これまで僕がプロジェクトを置いていたのは、WindowsユーザーにはおなじみのCドライブ上。WSLから見ると /mnt/c/Users/...
というパスです。
これを、ダメ元でWSL(Ubuntu)のホームディレクトリ、つまり ~/
の直下に新しくプロジェクトフォルダを作り、そこにファイルを置いて試してみることにしました。
- WSLのターミナルで、WindowsのCドライブではなく、
~/
に移動。 mkdir my-project
で新しいフォルダを作成。- その新しいフォルダをVS Codeで開く。
- VS Codeの中からターミナルを開き、
claude
を起動。
そして /ide
をタイプしてEnterを押すと…!
✔ Connected to Visual Studio Code.
(Visual Studio Codeに接続しました)
そして、VS Codeの右上にもClaudeのアイコンが表示されました。ということで、プロジェクトを Windowsのファイルシステム上 (/mnt/c/...) に置くのではなく、WSLのファイルシステム上においたコードでないとVS Codeとは連携しないということがわかりました。
ファイルシステムの壁
これはおそらく、WSLとWindowsという異なるOSの境界線をまたいでファイルを連携させる際に、Claudeの拡張機能が想定していない問題が起きる「仕様」なんだと思います。似たような事象に直面している人がX(旧Twitter)にもいましたしね。
まあ普通にWSL上でやれ、ということなのでしょう。変なことはしないほうがいいですね💦