tonydzi

Claude Desktop Watchdog — Development skill for Claude Code

Development community

Claude Desktop on Windows will not reopen after an update and you reboot.

How to install Claude Desktop Watchdog

This entry records only its repository, not the path inside it, so there is no exact command to give. Open tonydzi/claude-desktop-watchdog and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Desktop Watchdog does

Claude Desktop on Windows will not reopen after an update and you reboot. A dead instance is holding the single-instance lock. This kills only the stale processes, relaunches, and snapshots the failing state so the bug can be reported with artifacts. One PowerShell file, MIT.

Alternatives in Development

  • Epic Unblock — Sweep blocked epic issues and reopen anything whose dependencies are closed 243.5k ★
  • Phistory — Phistory automatically archives versioned system prompt snapshots from agent CLIs like Claude Code, Codex, Ope 560 ★
  • Hive — Browser-native hive-mind for CLI coding agents — Claude Code, Codex, Gemini, and OpenCode collaborate as real 473 ★

README

claude-desktop-watchdog

**Claude Desktop on Windows will not reopen, and clicking the icon does nothing. You reboot. You should not have to.**

A dead instance keeps holding the single-instance lock, so every click on the icon is swallowed by a process that will never draw a window again — the shape reported in [#84410](https://github.com/anthropics/claude-code/issues/84410). Rebooting works because it kills the survivor. So does [claude_desktop_watchdog.ps1](claude_desktop_watchdog.ps1), every five minutes, without taking your machine down.

One PowerShell file, [claude_desktop_watchdog.ps1](claude_desktop_watchdog.ps1): no modules, no network, no telemetry, licensed [MIT](LICENSE).

git clone https://github.com/tonydzi/claude-desktop-watchdog
cd claude-desktop-watchdog
powershell -ExecutionPolicy Bypass -File .\claude_desktop_watchdog.ps1 -SelfTest   # 22 fixtures, changes nothing
powershell -ExecutionPolicy Bypass -File .\claude_desktop_watchdog.ps1 -Install    # every 5 min, Scheduled Task

Remove it with `-Uninstall`, then delete `%USERPROFILE%\.claude\logs\claude_desktop_watchdog.state` if you want the last trace gone.

What it decides

what it sees what it does
no MSIX package nothing, logs NO_PACKAGE
no Desktop processes launches the app
only current-version processes checks the window (below), usually OK
current and older-version processes kills the older ones only
only older-version processes kills them, then launches

"Older-version" means the executable path is not under the `InstallLocation` that `Get-AppxPackage` reports right now, and that comparison is the whole decision in [claude_desktop_watchdog.ps1](claude_desktop_watchdog.ps1). After an MSIX update, a survivor of the previous package looks exactly like that, which is the failure in [#69987](https://github.com/anthropics/claude-code/issues/69987).

The other failure: alive but wedged (v0.2)

Processes are current, th