GPU process gone でClaude Desktopが固まる——全セッションが道連れになる理由と対処
作業中に Claude Desktop が突然固まり、開いていた Claude Code のセッションが全部まとめて止まる。強制終了して再起動すると、今度はアプリ自体が起動しなくなっていることがある——このときログの最後の行に残っているのは、たいてい「GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 101457950 }」という一文だ。この記事は、その exitCode 101457950(=0x060C201E)が何を意味するのかを整理する。落ちているのは Claude Code(CLI)ではなく、それを載せているデスクトップアプリ(Electron)の GPU プロセスである。判定は main.log の末尾を見るだけでよく、再起動の直前の行が GPU process gone なら本件で、Crashpad にダンプが増えていなければ CLI 側のネイティブクラッシュではない。なぜ無関係なセッションまで巻き添えになるのかという疑問には、構造で答えられる。Electron/Chromium の GPU プロセスはアプリケーションにつき1個しか存在せず、全ウィンドウ・全タブ・全セッションがこれを共有している。したがって in-app ブラウザで開いたページ1枚が GPU を殺すと、そのページと縁もゆかりもないセッションが同時に止まる。これは構造上の性質なので、ユーザー側の設定で分離することはできない。引き金は公開issueで最も多いのが in-app ブラウザで、#80444 は WebGL/WebGPU の機能検出から15〜36秒後に4回とも同じ 0x060C201E で死ぬ様子を、#82967 はブラウザツールのプレビュー用スクリーンショット取得(capturePreviewScreenshotIfChanged)を引き金として記録している。ただしブラウザだけが引き金ではなく、#68049 は ARM64 環境で起動時に同じコードで落ちると報告している。復旧は強制終了と再起動が基本だが、GPUクラッシュの後に Windows が MSIX パッケージを「変更されている」(appxState=2)と判定して起動を拒否することがあり、その場合は常駐プロセスを終わらせてから[修復]を実行する。[修復]が常に失敗し、完全な削除と再インストールでしか戻らなかったという報告(#82967)もある。データは保存済みのものが残る一方、実行中だった作業は戻らず、並列で走らせていたサブエージェントの結果ごと失った報告(#81698)がある。打てる手は引き金を引きにくくすることだけで、--disable-gpu は MSIX 版では「アクセスが拒否されました」で弾かれ、アプリの更新でも直るとは限らない。Anthropic はこの症状について公式の原因説明も修正告知も出していない。