Claude CodeのVS Code拡張がWSLで真っ白になる原因と回避策
VS Code 1.141.1のWSLリモートで、Claude Codeのパネルが空白になりwebview/index.jsが401を返す不具合です。症状の見分け方、原因、回避策を示します。
Claude CodeのVS Code拡張がWSLで真っ白になる原因と回避策
WindowsのVS Code 1.141.1でWSLに接続すると、Claude Codeのパネルが入力欄も履歴もない空白になることがあります。拡張側は正常に起動していて、原因はVS Codeのwebview配信側です。VS Code 1.141.2で直ったという報告があり、直らないときはバージョンを1.140.0に戻すか、Insidersを使うと表示されます。
どんな症状が出るのか
サイドバーのClaudeアイコンからも、コマンドパレットの「Claude Code: Open in New Tab」からも、中身のないパネルが開きます。入力ボックスもセッション履歴(時計アイコン)も出ません。
報告者の環境は次のとおりです。
| 項目 | 内容 |
|---|---|
| OS | 内容Windows + WSL2(Ubuntu-24.04) |
| VS Code(stable) | 内容1.141.1 |
| Remote - WSL拡張 | 内容0.104.3 |
| Claude Code拡張 | 内容2.1.299(linux-x64、WSL側にインストール) |
| Claude Code CLI | 内容2.1.296(ネイティブインストール) |
拡張のログには「Claude code extension is now active」「OAuth tokens found in secure storage」が出て、MCPサーバーの起動とWebSocket接続も成功しています。認証や接続は壊れていません。
開発者ツールのコンソールで見分ける
空白の原因が今回の不具合かどうかは、Help > Toggle Developer Toolsのコンソールで判定できます。次のように、拡張の webview/index.js と index.css が401で読み込めていれば同じ現象です。
.../anthropic.claude-code-2.1.299-linux-x64/webview/index.js:
Failed to load resource: the server responded with a status of 401
index.css: Failed to load resource: the server responded with a status of 401読み込み元は vscode-remote+wsl-...vscode-resource.vscode-cdn.net というホストです。401ではなくスクリプト例外やCLIの起動失敗が出ているなら別の問題で、切り分けは応答しないときの切り分け手順が使えます。
原因は拡張ではなくVS Code 1.141.1
Claude Code側の報告には、OpenAIのCodex拡張も同じ方法でUIが開かない、と書かれています。拡張固有ではなく、リモートのwebviewリソースの問題という見立てです。
VS Code本体のissueで裏が取れています。このissueによると、1.141.1のWSLリモートではすべてのwebviewが空白になります。組み込みのMarkdownプレビューも空白で、拡張を全部無効にしても再現します。リソースへのリクエストが401を返し、webview側のService Workerに処理されず、ネットワークへ出ているように見える、というのが報告者の推測です。
- 1.140.0に戻すと、他の変更なしで直る
- Chromiumのバージョンは1.140.0と1.141.1で同じ
- 疑われているのはVS Code本体の変更か、Electron 43.7.3から43.7.7への更新
原因の特定はVS Code側の調査が決めることで、この推測は確定ではありません。ただし、Claude Codeの拡張を入れ直しても状況が変わらないという報告とは整合します。
回避策と直し方
効いたとされている手段は、VS Codeのバージョンを変えるか、WSLを経由しない開き方に変えるかのどちらかです。
空白パネルへの対処は3通り
VS Codeを更新する
1.141.2で直ったという報告が、Claude Codeのissueに寄せられています。まず更新を確認します。
1.140.0へ戻す
修正前の回避策として、1.140.0へのロールバックで直った報告が複数あります。
別の開き方にする
Insidersで同じWSLディストリビューションとプロジェクトを開く、またはWSLを使わずWindowsのローカルフォルダを開くと表示されます。
各案の具体的な手順は次のとおりです。
1.141.2以降へ更新して確かめる
- 1
更新を確認する
VS Codeのメニューから更新の確認を実行し、1.141.2以降に上がるまで待ちます。VS CodeはmacOSとWindowsで、既定で自動更新が有効です。
- 2
ウィンドウを読み込み直す
更新を適用したら、コマンドパレット(F1)から
Developer: Reload Windowを実行し、WSLのウィンドウを開き直します。 - 3
401が消えたか確かめる
Claude Codeのパネルを開き、Help > Toggle Developer Toolsのコンソールに
webview/index.jsの401が出なくなっていれば解消です。
1.140.0へ戻して固定する
前のバージョンへ戻すには、いまのVS Codeをアンインストールしてから、戻したいバージョンのインストーラーを入れ直します。ダウンロードは、該当バージョンのリリースノートページの冒頭にあるリンクから取れます。
インストーラーのURLは https://update.code.visualstudio.com/{version}/win32-x64-user/stable の形で、{version} を 1.140.0 にすると、Windows 64bitのユーザーインストーラーを指します。
戻しただけでは、自動更新で再び1.141.1以降へ上がります。更新を止めるには、設定の update.mode を既定の default から none に変えます。JSONで設定する場合は次の1行です。
{
"update.mode": "none"
}止めたままにすると、直った版にも上がりません。1.141.2以降が出ているので、修正版に更新できる状態になったら update.mode を既定へ戻します。
Insidersで同じ環境を開く
Insidersは安定版と並べてインストールでき、設定・構成・拡張が分離されています。そのため、Insidersで開いたWSLウィンドウには、Claude Code拡張を入れ直す必要があります。入れ方はInsidersのダウンロードページに案内があります。
WSLのフォルダは、F1から WSL: Connect to WSL を選んで接続し、Fileメニューからフォルダを開きます。すでにフォルダを開いているなら WSL: Reopen Folder in WSL でも切り替えられます。
WSLを使わずローカルフォルダで開く
WSLウィンドウの中で現在のフォルダをWindows側で開くには、WSL: Reopen in Windows を使います。この開き方で表示されたという報告があります。ただしWSLにあるファイルをWindowsから開くと、パスの違いやGitの改行コードに注意が必要です。
更新の前に確かめること
現在のバージョンはVS Codeのメニューの「バージョン情報」か、次のコマンドで分かります。WSLのターミナルから実行すると、WSL側のサーバーとの組み合わせも見られます。
code --version1行目が 1.141.1 なら、今回の不具合の対象バージョンです。
試しても効かなかった手順
報告者は次の操作を試し、stable + WSLでは変化がなかったと書いています。時間を使う前の目安になります。
- 拡張の再インストール(複数回)
- Windows側のVS Code stableの再インストール
wsl --shutdown、wsl --update、rm -rf ~/.vscode-server- npmグローバルで入れた重複CLIの削除
VS Code本体のissueでは、Service Worker、Cache、CachedData、GPUCacheの各ディレクトリ削除や、WSL側の ~/.vscode-server/bin の削除も効かなかったとされています。サーバー側やキャッシュの掃除より、バージョンの方が効く変数です。
更新しても空白が残るときの切り分け
更新・ロールバックのあとも空白なら、次の順に絞ります。
- コンソールが401のままか、別のエラーに変わったかを見ます。401のままなら、VS Codeのバージョンが意図どおり変わっているか
code --versionで確かめます。WSL側のサーバーは接続時にクライアントに合わせて入ります - 組み込みのMarkdownプレビューも開いてみます。これも空白なら、Claude Codeではなくwebview全般の問題です
- 401が消えて別の例外が出る場合は、VS Code本体の不具合から外れます。応答しないときの切り分け手順に進みます
経緯と現在の状況
| 日付 | 出来事 |
|---|---|
| 2026-10-12 | 出来事VS Code 1.141.1のビルド日(issueに記載) |
| 2026-10-14 | 出来事Claude Codeのissue #101966が起票される |
| 2026-10-14 | 出来事VS Code本体のissue #341474も起票され、のちにクローズ(マイルストーン1.142.0) |
| 2026-10-14 | 出来事コメントで「1.141.1の更新で入った問題、1.140.0で一時的に直る」と共有 |
| 2026-10-14 | 出来事別のコメントで「1.141.2で修正された」と報告 |
VS Code本体のissueはクローズされ、マイルストーンは1.142.0です。Claude Codeのissueはopenのままですが、拡張側のコードに原因があることを示す報告はありません。リソースの配信はVS Codeの管轄です。
似た症状との違い
パネルが開かない・表示されない症状は、原因が別でも見た目が近くなります。
- 仮想ワークスペース(
vscode-vfsなど)で拡張が動かない場合は、libcのエラーが出ます。仮想ワークスペースでのlibcエラーが該当します - パネルは出るが、IDEの診断情報がClaudeに渡らない場合は、getDiagnosticsが出ない原因を見ます
- 再開した会話のメッセージが少しの間だけ空白になるのは仕様です。公式ドキュメントによると、会話のプロセスが起動するまで1秒ほど空白になり、その後
Waiting for your plugins…が出ます
今回の症状は、パネル全体が恒久的に空で、コンソールに401が並ぶ点で区別できます。
拡張のインストールと前提の確認
公式ドキュメントでは、拡張の前提はVS Code 1.94.0以降です。今回は1.141.1という新しいバージョンでの退行なので、古さが原因ではありません。拡張のインストール手順や、CLIとの違いはVS Code拡張の使い方にまとめています。
CLIが使えるかは別途確かめられます。拡張のパネルが空でも、WSLのターミナルで claude を起動できるなら、認証とCLI本体は問題ありません。その間は、ターミナルで作業を続けられます。
まとめ
WSLでパネルが真っ白なら、まず code --version で1.141.1かどうかを確かめます。該当するなら、VS Codeを1.141.2以降へ更新するのが最短です。更新できないときの手は1.140.0へのロールバック、Insiders、WSLを使わないローカルフォルダです。拡張の入れ直しやWSLの再作成に時間をかける前に、バージョンを疑う価値があります。