Claude Media
Claude Desktopが最前面から外れない・固定を解除する方法(Windows)

Claude Desktopが最前面から外れない・固定を解除する方法(Windows)

Windows版Claude Desktopが常に最前面に固定される不具合の原因と、PowerShellでその場から解除する方法をGitHub issueからまとめます。

Windows版のClaude Desktopで、ウィンドウが常に他のアプリより手前に表示され続け、他の窓をクリックしてもフォーカスだけ移って表示は裏に回ってしまう不具合が報告されています。ここでいう「最前面固定」とは、Win32のWS_EX_TOPMOSTという拡張ウィンドウスタイルが立った状態を指します。報告者の確認では、設定にもメニューにも、メインウィンドウでこれを外す操作は見当たりません。

GitHub issue #89467は2026年8月25日に立ち、10月2日の投稿までに39件のコメントが付きました。10月3日に確認した時点でもopenです。報告者のログ解析では、原因の中心は設定ではなく、バックグラウンド更新後にウィンドウの重なり順を復元する処理だとされています。

このTipsでできること

PowerShellの数行をその場で実行すれば、最前面固定をすぐに解除できます。固定がいつ再発するのか、どの対処が再発まで防げるのかも、報告された実測の範囲で切り分けます。

症状と再現条件

最初の報告者の環境はClaude Code 2.1.138(デスクトップアプリ)、Windows 10 Pro 22H2です。手順は単純です。Claude Desktopを起動し、ブラウザやエディタなど別のウィンドウをクリックするか、Alt+Tabで切り替えます。本来ならそのウィンドウが手前に来るはずですが、実際にはキーボードフォーカスだけがそちらに移り、表示はClaude Desktopの裏に隠れたままです。

報告者は、~/.claude/settings.jsonにalwaysOnTopのようなキーが無いことを確かめています。アプリ内にウィンドウや表示のトグルも無く、ドキュメント化されたショートカットもありません。公式ドキュメントのDesktopアプリガイドにあるキーボードショートカット一覧にも、最前面固定を切り替える項目は載っていません。

アプリ内に似た名前の操作が1つだけあります。別ウィンドウに切り出したセッション(popout)の中にある「Keep window on top」というピンです。ログに[popout-restore] Saving 0 session popout(s)と出ていれば、この経路は関係ありません。

ログに[cu-side-panel]のdockedが出ずinitializedだけの環境でも固定は起きているため、コンピューター操作(computer use)のサイドパネルでは説明できません。10月2日には、Cowork(computer use)の作業中にClaudeのウィンドウが勝手に前面へ出たという投稿もあります。こちらは固定とは別の症状かもしれません。

症状はWindows 11でも出ています。コメント欄にはWindows 11のPro・Enterprise・Homeと、x64・ARM64の両方、2画面・3画面の環境が並びます。最初のコメントがClaude Desktop 1.34493.1、10月2日のコメントが2.19675.0で、報告されたバージョンは1.xから2.xまで連続しています。macOSには類似のissue(#66516)がありますが、「対応予定なし」(not planned)でクローズ済みです。

原因: ステルス更新後の復元処理が最前面固定を引き継ぐ

最初に原因を突き止めた報告者は、%LOCALAPPDATA%\Claude\Logs\main.logのログ行を突き合わせ、Win32 APIで実機検証しました。Claude Desktopはアイドル状態が続くと、利用者に気づかせない「ステルス更新」をバックグラウンドで走らせます。固定は、この更新を挟んだ次の流れで生まれます。

手順

最前面固定が生まれる流れ

  1. 1

    更新直前にアンカーを記録する

    アイドルタイムアウトでステルス更新が始まると、アプリは自分のウィンドウのすぐ上にあるウィンドウを「アンカー」としてログに残します。

  2. 2

    更新して再起動する

    アプリが新しいバージョンに入れ替わり、ウィンドウを作り直します。数秒で終わるため、利用者は気づきません。

  3. 3

    アンカーの背後に挿入する

    元の重なり順に戻すため、新しいウィンドウをアンカーの背後へSetWindowPosで挿入します。

  4. 4

    最前面固定を継承する

    挿入先のアンカーがWS_EX_TOPMOSTだと、Win32の仕様で挿入された側も最前面固定になります。以降、誰も外しません。

実際のログは次のとおりです。

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になっています。

更新のたびに起きるわけではない

別の報告者は、同じマシンで4回続けた更新を記録しています。

あゆみ

同じマシンの4回の更新

  1. 8月28日1.37937.1から1.37937.3

    ステルス更新が走り、アンカーはClickToDo(IslandWindow)。更新後に最前面固定になりました。

  2. 8月29日1.37937.3から1.40609.0

    ステルス更新は走らず、アンカーも記録されませんでした。固定は付きませんでした。

  3. 9月1日1.40609.0から1.40609.1

    ステルス更新が走り、アンカーは別のウィンドウ(0x19082e)。更新後に最前面固定になりました。

  4. 9月3日1.40609.1から1.44121.4

    ステルス更新が走り、アンカーはShell_TrayWnd。更新後に最前面固定になりました。

ステルス更新が走っても、必ず固定が付くわけではありません。別の報告者のログでは、同じマシンの9月11日と12日の再起動でアンカーが0x10580で、固定は付きませんでした。この報告者は、真上の窓が最前面固定のときだけ起きると見ています。更新が走ることと、真上にいた窓が最前面固定であることの2つがそろって初めて起きます。ある環境では、ステルス更新が約1日おきに走っていました。

別の報告者は、Claudeを直前まで使っていた場合に起きやすい理由を指摘しています。通常のウィンドウ群の最上段にClaudeがいるとき、そのすぐ上にあるのは定義上、最前面固定の窓の最下段、つまりタスクバーだからです。これは1人の推論ですが、複数のログと矛盾しません。

アンカーはタスクバーだけではない

アンカーになるのは、更新の瞬間にClaudeの真上にあった最前面固定のウィンドウです。同じマシンでも更新のたびに変わります。

アンカーのプロセスクラス名
explorer.exeクラス名Shell_TrayWnd(タスクバー)
explorer.exeクラス名Shell_SecondaryTrayWnd(2枚目のモニターのタスクバー)
ClickToDo.exeクラス名IslandWindow(Click to Doの重ね表示用ウィンドウ)
TextInputHost.exeクラス名Internet Explorer_Hidden(IME補助の非表示ウィンドウ)
SumatraPDF.exeクラス名tooltips_class32(吹き出し)
RazerAppEngine.exeクラス名RzMonitorForegroundWindow(Razer製品の監視用ウィンドウ)

タスクバーだけを特別扱いする修正では防げません。IMEの非表示ウィンドウのように、利用者が見ることも触ることもない窓まで含まれるためです。

別の原因ではないことの確かめ方

PowerToysの「常に最前面」機能が原因という説は、報告者が実測で否定しています。PowerToysがウィンドウを固定するとAlwaysOnTop_Borderという枠付きウィンドウが別に作られますが、今回の不具合ではそれが存在しません。config.jsonとwindow-state.jsonにもalwaysOnTopのキーはなく、設定として保存されたものではありません。

固定は更新後の挿入時に1回だけ継承されます。外したあとの90秒間、ExStyleを監視した報告者は、元に戻る瞬間を1度も観測していません。

もう1つの発生経路の報告があります。Windows 10でタスクバーのClaudeアイコンを右クリックし、英語表示の"Show this window on all desktops"を選んだ直後に固定された、というものです。同じ操作でファイルエクスプローラーは固定されないため、Windowsの仕様ではなくアプリ側の挙動と見られています。一方、Windows 11で自分のメニューにその項目が無く、固定だけが2日続いた報告者もいます。この経路は、再現の唯一の条件ではありません。

報告者が挙げた修正案は3通りです。1つ目は、復元前にアンカーのWS_EX_TOPMOSTを調べ、立っていればHWND_NOTOPMOSTで挿入するか、固定でない直近のウィンドウまで探し直す方法です。2つ目は、復元後に更新前の最前面固定の状態を明示的に再適用する方法で、アンカーが何であっても挙動が安定すると指摘されています。3つ目は、最前面固定をユーザー設定として公開し、復元処理もその設定を見る方法です。

再起動やアプリの終了だけでは直らない理由

「アプリを再起動すれば直るはず」と3回試した報告者のウィンドウは、固定されたままでした。ログがその理由を示しています。

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

タスクバーのアイコンをクリックして起動し直しても、新しいプロセスは一瞬立ち上がって既存の常駐プロセスに処理を渡し、すぐ終了します。固定されたウィンドウは作り直されません。

くらべる

「再起動」の2通りと効き目

効かない報告が多い

ウィンドウを閉じて開き直す

常駐プロセスが残るので、固定されたウィンドウがそのまま再表示されます。一方で、再起動で直った、あるいは時々直るという報告も2件あります。Cowork側のウィンドウを閉じて開き直しても、固定は外れなかったという報告があります。

効く

トレイから終了して起動する

プロセスごと止めてから起動すれば、ウィンドウが新しく作られ、報告者の環境では、次のステルス更新までは固定が付きませんでした。Task Managerにclaude.exeが残っていないことを確かめた報告者は、これで外れたと述べています。

issue #85891の報告者は、冷えた状態からの起動では復元処理が走らないと説明しています。この説明に従うと、次のステルス更新までは固定が付かず、症状が「たまに出る」ように見えます。シャットダウンして電源を落とし直すと直ったという報告も、この説明と合います。

今すぐ解除する方法(PowerShell)

その場で直したい場合は、Win32 APIを直接呼び出して最前面固定の属性を落とします。PowerShellを開き、次のコマンドを実行します。

Add-Type -Name W -Namespace N -MemberDefinition '[DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr h,IntPtr a,int x,int y,int cx,int cy,uint f);'
$h = (Get-Process claude | Where-Object MainWindowHandle -ne 0 | Select-Object -First 1).MainWindowHandle
[N.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が複数のプロセスを返す場合、先頭のウィンドウが別のものだった可能性があります。固定が外れなければ、プロセスのIdとMainWindowTitleを見て対象を絞り込んでください。

固定されているかどうか、いつ更新が走ったかは、ログで確かめられます。次のコマンドで、更新時のアンカー記録だけを抜き出せます。

Select-String -Path "$env:LOCALAPPDATA\Claude\Logs\main.log" -Pattern "stealth-relaunch"

Saved z-order anchorとRestored z-orderの行が、直近の更新の時刻に出ていれば、この記事の原因に当たります。出ていなければ、別の要因を疑う根拠になります。

恒久的な回避策の効き目

コマンドを毎回打つ以外にも、コミュニティが試した回避策があります。効き目には差があります。

対処法おすすめ度理由
仮想デスクトップを切り替える(Win+Ctrl+D)おすすめ度◎理由最前面固定は仮想デスクトップ単位で効くと報告され、別のデスクトップに移るだけで一時的に回避できる
離席前にウィンドウを最小化しておくおすすめ度△理由復元処理は表示中のときだけ走るという説明に基づく。報告者本人が「意図的に検証したわけではない」と述べている

作業の合間に何度も切り替えるなら、仮想デスクトップが最も手間がかかりません。ただし、2つの画面を同時に見たい作業には向きません。常にClaudeの隣へ資料を置いて見比べる運用の報告者は、仮想デスクトップでは「一瞥がコンテキストスイッチに変わる」と述べています。その場合は、固定を外すコマンドを更新のたびに打つのが現実的な選択になります。

Windowsの仮想デスクトップ間でウィンドウが意図せず移動した後にこの症状が出たという報告もあります。外付けドッキングステーションの接続が不安定な環境で、ドック絡みの自動移動が引き金かもしれないと報告した利用者もいます。

長引いている背景

issue #89467には、運用への実害を訴える声が積み上がっています。格闘技ジムを運営する報告者は、Claude Desktopを業務ツールとして一日中開いているため、画面キャプチャのツールや管理ポータルを横に並べられないと述べています。ADHDと書字障害のある利用者も、2つのウィンドウを同時に見ながら音声入力で作業しているため、仮想デスクトップや最小化では代替できないと投稿しています。要望は共通しており、既定の挙動は変えずに、設定で最前面固定をオフにできるチェックボックスが欲しいというものです。

重複するissueの数え方は、報告者によって違います。先ほどとは別の報告者は9月3日に、同じ不具合のWindows向け報告が少なくとも9件あり、コメントは合計100件を超えると数えました。そのうち開いているissueの大半はinvalidラベルが付いたままで、根本原因の分析が入った#87084は「対象外」として自動クローズされています。

関連issueの一つ(#87895)は「重複」としてクローズされました。そのクローズ先の#66516が、先に「対応予定なし」でクローズされていました。どちらの経路でも、閉じた理由が詳しく書かれないまま終わっています。#87084の自動クローズの文言は「Claude Codeに関するものではないようです」でした。#89467はbug・has repro・platform:windows・area:desktopのラベルが付き、openのままです。39件のコメントにAnthropic側の返信はありません。

Windows版Claude Desktopのインストール手順はClaude Desktop Windows版のインストールと初期設定にまとめています。MSIXパッケージの環境からも、ここで紹介した原因の確認が複数報告されています。組織一括導入の手順はMSIXでの一括導入ガイドを参照してください。Windows版Claude Desktopでは、他にもSSH接続時のエラーの原因と対処のような環境依存の不具合が報告されています。

まとめ

固定は更新が引き金なので、外しても再発する前提で付き合うことになります。画面を切り替えながら作業するなら仮想デスクトップ、1画面で並べて作業するならコマンドで外す方法と、作業の型で日常の手段を選べます。

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