[Desktop/Windows] Tray icon invisible (black on black) when taskbar is dark but app mode is light
App: Claude Desktop 2.9939.2.0 (MSIX, x64)
OS: Windows 10 Pro 22H2 (10.0.19045)
Summary
The notification-area icon renders as a black spark on the black taskbar, making it effectively invisible, whenever Windows uses a dark taskbar with light app mode (the Windows 10 "Custom" color mode).
Steps to reproduce
- Settings > Personalization > Colors > Choose your color: Custom.
- Default Windows mode: Dark. Default app mode: Light.
- Leave Claude's theme set to System.
- Launch Claude and look at the notification area.
Expected: White spark (Tray-Win32-Dark.ico), visible on the dark taskbar.
Actual: Black spark (Tray-Win32.ico) on the dark taskbar, so the icon can't be seen.
Registry state:
HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
AppsUseLightTheme = 1
SystemUsesLightTheme = 0
Root cause
The tray icon is picked from the app theme, not the taskbar theme (app.asar, minified):
case "ico": return !e && nativeTheme.shouldUseDarkColors ? "Tray-Win32-Dark.ico" : "Tray-Win32.ico";
nativeTheme.shouldUseDarkColors follows AppsUseLightTheme (and Claude's own theme setting). The taskbar colors come from SystemUsesLightTheme. When these two differ, Claude shows the wrong icon.
Suggested fix
- On Windows, choose the tray icon from
SystemUsesLightTheme, and pick the icon again when that value changes (WM_SETTINGCHANGE/ "ImmersiveColorSet"). - Or ship a tray icon that shows up on both light and dark taskbars (for example, a white spark on an orange background).
Why workarounds are not acceptable
- Setting Claude's theme to Dark, or Windows app mode to Dark, changes the look of the app or of every app.
- Making the taskbar light changes the whole desktop.
- The icon files can't be replaced, because the MSIX install folder is read-only and gets replaced on each update.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗