Claude Desktopが最前面から外れない・固定を解除する方法(Windows)
Windows版Claude Desktopが常に最前面に固定される不具合の原因と、PowerShellでその場から解除する方法をGitHub issueからまとめます。
Windows版のClaude Desktopで、ウィンドウが常に他のアプリより手前に表示され続け、他の窓をクリックしてもフォーカスだけ移って表示は裏に回ってしまう不具合が報告されています。ここでいう「最前面固定」とは、Win32のWS_EX_TOPMOSTという拡張ウィンドウスタイルが立った状態を指し、設定にもアプリ内にもこれを解除するトグルはありません。GitHub issue #89467には2026年8月25日の報告以降、20件超のコメントで再現環境と原因調査が積み上がっています。原因の中心はアプリ自体の設定ではなく、バックグラウンド更新後にウィンドウの重なり順を復元する処理にあります。
このTipsでできること
PowerShellの3行をその場で実行するだけで最前面固定をすぐに解除できます。仕組みと、再発を抑える回避策の効き目の違いも合わせて把握できます。
症状と再現条件
最初の報告者の環境はClaude Code 2.1.138(デスクトップアプリ)、Windows 10 Pro 22H2です。手順は単純です。Claude Desktopを起動し、ブラウザやエディタなど別のウィンドウを開いてクリックするか、Alt+Tabで切り替えます。本来ならそのウィンドウが手前に来るはずですが、実際にはキーボードフォーカスだけがそちらに移り、表示はClaude Desktopの裏に隠れたままになります。
報告者は次の3点をあらかじめ確認したうえでissueを立てています。~/.claude/settings.jsonにalwaysOnTopのようなキーは無く、アプリ内にウィンドウや表示のトグルも無く、ドキュメント化されたショートカットも存在しません。実際、公式ドキュメントのDesktopアプリガイドが載せるキーボードショートカット一覧にも、最前面固定を切り替える項目はありません。設定漏れではなく、そもそもそのための操作が用意されていないということです。
Windows 11環境からの再現報告も相次いでいます。コメント欄ではWindows 11 Pro・Enterprise・Homeの各エディションで、Claude Desktopのバージョンを問わず同じ症状が確認されています。macOS側にも類似のissue(#66516)がありますが、これは「対応予定なし」でクローズ済みです。
原因: ステルス更新後のウィンドウ復元処理が最前面固定を引き継ぐ
ユーザーのnvi-nsi氏が%LOCALAPPDATA%\Claude\Logs\main.logのログ行を突き合わせ、Win32 APIで実機検証した結果、原因の骨格が判明しています。Claude Desktopはアイドル状態が続くと、ユーザーに気づかせない「ステルス更新」をバックグラウンドで走らせます。更新の直前、アプリは自分のウィンドウのすぐ上に重なっているウィンドウを「アンカー」として記録します。更新後の再起動でウィンドウを作り直す際、このアンカーの背後に自分を挿入して元の重なり順に戻そうとします。
ここに落とし穴があります。Win32のSetWindowPosは、挿入先に指定したウィンドウが最前面固定(WS_EX_TOPMOST)状態だと、挿入する側もその状態を継承してしまう仕様です。つまりアンカーがたまたま最前面固定のウィンドウだった場合、Claude Desktop自身も最前面固定の状態になってしまいます。
2026-08-26 12:31:52 [info] [stealth-relaunch] Saved z-order anchor: 0x100de (above our 0x20624)
2026-08-26 12:31:58 [info] Starting app { appVersion: '1.37937.1', ... }
2026-08-26 12:32:00 [info] [stealth-relaunch] Restored z-order: our 0x80c42 behind anchor 0x100deこのログの直後にWin32 APIで両方のハンドルのExStyleを調べると、アンカーの0x100DEはエクスプローラーのタスクバー(Shell_TrayWnd)でした。WS_EX_TOPMOSTが立っており、Claude側の0x80C42もそれを継承してWS_EX_TOPMOST込みの0x00280108になっています。
アンカーになるのはタスクバーだけではありません。後続の報告者が別マシンで異なるアンカーを特定しています。
| アンカーのプロセス | 実体 |
|---|---|
explorer.exe(Shell_TrayWnd) | 実体Windowsのタスクバー |
explorer.exe(ClickToDo) | 実体同じマシンの6日後の別発生で確認 |
TextInputHost.exe | 実体IME補助用の非表示ウィンドウ |
サードパーティアプリのツールチップ(tooltips_class32) | 実体SumatraPDF付属の吹き出し |
同一マシンでも発生のたびにアンカーが変わるため、タスクバーだけを特別扱いする修正では防ぎきれません。最前面固定のウィンドウが更新のタイミングでClaudeの真上にあれば、それが何であってもアンカーになり得ます。
なお、PowerToysの「常に最前面」機能や、computer use用のサイドパネルのドッキング処理が原因という説も検証されましたが、いずれもログとの突き合わせで否定されています。PowerToysが実際にウィンドウを固定するときはAlwaysOnTop_Borderという枠付きウィンドウが別途生成されますが、今回の不具合ではその枠が確認できないため、両者は別の現象です。
もう1つの発生条件として、Windows 10でタスクバーのClaudeアイコンを右クリックして「すべてのデスクトップに表示」を選ぶと、その場で最前面固定の属性が付いたという報告もあります。この報告者は、ファイルエクスプローラーなど他のピン留めウィンドウでは同じ現象が起きないことも確認しており、Windowsが仮想デスクトップ間のピン留めウィンドウを一律に最前面固定しているわけではなさそうだと指摘しています。
報告者が挙げている修正案は2通りです。1つ目はアンカーのWS_EX_TOPMOSTを復元前にチェックし、立っていればHWND_NOTOPMOSTで挿入するか、最前面固定でない直近のウィンドウまで探し直す方法です。2つ目は、復元後にアプリ自身の更新前の最前面固定の状態を明示的に再適用する方法です。後者だけでも、アンカーが何であるかに関わらず挙動を安定させられると指摘されています。
再起動やアプリの終了だけでは直らない理由
「アプリを再起動すれば直るはず」と考えて試した報告者もいますが、効果はありませんでした。ログを見るとその理由がわかります。
2026-08-26 12:52:26 [info] Not main instance, returning early from app ready
2026-08-26 12:54:26 [info] second-instance: suppressing duplicate argvタスクバーのアイコンをクリックして起動し直しても、実際には新しいプロセスが一瞬立ち上がって既存の常駐プロセスに処理を引き継ぎ、すぐ終了しています。問題のウィンドウそのものは作り直されないため、最前面固定の状態も引き継がれたままです。確実に直すには、タスクトレイのアイコンから「終了」を選んでプロセスごと止め、あらためて起動し直す必要があります。
今すぐ解除する方法(PowerShell)
再起動を待たずにその場で直したい場合は、Win32 APIを直接呼び出して最前面固定の属性を落とします。PowerShellを開き、次のコマンドを実行します。
Add-Type -TypeDefinition 'using System;using System.Runtime.InteropServices;
public class W{[DllImport("user32.dll")]public static extern bool SetWindowPos(
IntPtr h,IntPtr a,int x,int y,int w,int hh,uint f);}'
$h = (Get-Process claude | Where-Object { $_.MainWindowTitle -eq "Claude" }).MainWindowHandle
[W]::SetWindowPos($h, [IntPtr](-2), 0,0,0,0, 0x0013)HWND_NOTOPMOST(-2)を指定し、SWP_NOSIZE・SWP_NOMOVE・SWP_NOACTIVATEのフラグを立てているだけです。ウィンドウの位置やサイズは変わりません。実行した報告者はExStyleが0x00280108から0x00280100に変わり、その場で通常の重なり順に戻ったと確認しています。Get-Process claudeがウィンドウを複数返す場合はMainWindowTitleだけでは絞り込めないことがあるため、Idを見て対象プロセスを特定してください。
恒久的な回避策の効き目
コマンドを毎回打つ以外にも、コミュニティが試した回避策があります。効き目には差があります。
| 対処法 | おすすめ度 | 理由 |
|---|---|---|
仮想デスクトップを切り替える(Win+Ctrl+D) | おすすめ度◎ | 理由最前面固定の状態はデスクトップ単位で管理されるため、別の仮想デスクトップに移るだけで一時的に回避できる |
| 離席前にウィンドウを最小化しておく | おすすめ度△ | 理由復元処理は「ウィンドウが表示されている」ときだけ走るという報告者自身の説明に基づく対処で、報告者本人も「意図的に検証したわけではない」と留保している |
PowerShellでHWND_NOTOPMOSTを都度実行 | おすすめ度◯ | 理由即効性はあるが、次の更新で再発するため恒久策ではない |
| タスクバーアイコンからの再起動 | おすすめ度✕ | 理由既存プロセスへの引き継ぎで新規ウィンドウが作られず、効果がない |
| トレイアイコンから完全終了して起動し直す | おすすめ度◯ | 理由再起動より確実だが、毎回の操作としては手間がかかる |
作業の合間に何度も切り替えるなら仮想デスクトップが最も手間がかかりません。長時間の作業前に一度だけ直したいなら、PowerShellコマンドの方が早く済みます。
Windowsの仮想デスクトップ間でウィンドウが意図せず移動した後にこの症状が出たという報告もあります。外付けドッキングステーションの接続が不安定な環境では、ドック絡みの自動移動が引き金になっている可能性もあると報告した利用者もいます。
公式の対応状況
2026年8月25日の最初の報告から9月8日の投稿までの間、issue #89467には運用への実害を訴える声が積み上がりました。格闘技ジムを運営する報告者は、Claude Desktopを業務ツールとして一日中開いているため、他のウィンドウに重ねられないこと自体が仕事の支障になっていると述べています。要望はシンプルで、既定の挙動は変えずに、設定で最前面固定をオフにできるチェックボックスが欲しいというものです。
同種のWindows向け報告は他にも複数立っており、報告者の一人は少なくとも9件の重複issueがあり、うち5件が「invalid」ラベルでクローズされていると指摘しています。関連issueの一つ(#87895)は「重複」としてクローズされています。そのクローズ先自体が「対応予定なし」でクローズされたissueだったため、実質的にどちらの経路でも技術的な検討を経ずに終わっています。
長引いているのは意図的に却下されたからではなく、重複クローズの間で埋もれてしまったからだと読めます。バックグラウンド更新の仕組みそのものは利用者に更新作業を意識させない設計思想であり、その裏側でウィンドウの状態管理が壊れてしまっている典型例です。
Windows版Claude Desktopのインストール手順はClaude Desktop Windows版のインストールと初期設定にまとめています。組織一括導入の手順はMSIXでの一括導入ガイドを参照してください。バックグラウンド更新はMSIX配布でも同じ仕組みで走るため、社内一括導入の環境でも同じ症状が起こり得ます。Windows版Claude Desktopでは、他にもSSH接続時のエラーの原因と対処のような環境依存の不具合が報告されています。
まとめ
Windows版Claude Desktopのウィンドウが最前面から外れない原因は、バックグラウンド更新後に重なり順を復元する処理にあります。たまたま上にあったウィンドウの最前面固定の属性を引き継いでしまうために起きる不具合です。今すぐ直すならPowerShellでHWND_NOTOPMOSTを指定し、繰り返し発生を避けたいなら仮想デスクトップの切り替えが有効です。離席前の最小化も効くと報告されていますが、報告者自身が未検証と断っている対処なので過信は禁物です。アプリの再起動だけでは直らず、トレイアイコンからの完全終了が必要な点にも注意してください。issueは9月8日の投稿以降も未解決のまま残っており、設定で切り替えられるトグルの追加を求める声が続いています。