[BUG] Windows NotifyIconSettings in Windows system tray resets after any update hiding the icon
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When Claude Desktop app updates on Windows, the system tray icon becomes hidden again, according to Claude, this is due to how Claude updates and how windows associates the config to show in the System tray, as the update is installed in a new path, so Windows does not know it exists still and removes its entry to show the icon. So after every update, I have to go enable it again to show.
<img width="175" height="61" alt="Image" src="https://github.com/user-attachments/assets/3267a955-51a2-442d-b24c-fbbfe74da8b9" />
<img width="1060" height="153" alt="Image" src="https://github.com/user-attachments/assets/daf087aa-772a-4481-9b4d-0515f8c21af9" />
What Should Happen?
Icon should remain visible all the time once enabled in windows.
According to Claude the reason for this occuring is:
Windows 11 stores tray visibility in HKCU\Control Panel\NotifyIconSettings, one subkey per icon, each with an ExecutablePath value and an IsPromoted flag (1 = pinned to the taskbar, 0 = tucked into the ^ overflow). The identity Windows uses to match an icon back to its saved setting is derived from that executable path. Claude Desktop on Windows ships as an MSIX package, which installs to a versioned directory — roughly C:\Program Files\WindowsApps\Claude_1.11187.4.0_x64__pzs8sxrjxfjjc\. When it updates, the version in that path changes, so Explorer sees an executable it has no record of, creates a fresh NotifyIconSettings entry, and defaults IsPromoted to 0. Your old setting is still sitting in the registry, pointing at a path that no longer exists. This isn't unique to Claude. Other users report the same thing across MSIX-packaged apps generally — after an update the path contains a different version, so the tray collapser treats it as a new app. Microsoft Learn Is it fixable on Anthropic's end? In principle, yes. Win32 apps can pass a stable GUID via NIF_GUID in NOTIFYICONDATA when calling Shell_NotifyIcon, and Windows will then key the visibility setting to that GUID instead of the path — surviving updates and relocation. Electron's Tray API doesn't expose that option, so Electron apps generally can't opt in without native code. So: a real defect, but one that lives in the Electron + MSIX combination, not in version telemetry.
Error Messages/Logs
Steps to Reproduce
- Install Claude Desktop in Windows
- Enable the system tray icon to show
- Apply an update when one comes
- See icon hidden again
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
Version 1.28929.0 (d1a6bc)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗