[BUG] MSIX Claude Desktop: Web view gets permanently stuck on error page — no user recovery path
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?
Summary
When the Claude Desktop MSIX app encounters a network/TLS failure (e.g., corporate proxy with TLS inspection), the Electron web view caches the Chrome error page (chrome-error://chromewebdata/). The auto-updater continues to function and install new versions, but the UI never recovers — the app launches to a blank/error window indefinitely. The only fix is a full manual reinstall.
This is an architectural issue: the MSIX update mechanism replaces app binaries but does not clear or validate the web view cache stored in %APPDATA%\Claude, and the MSIX packaging model prevents users from hooking into the app launch to clear it themselves.
Environment
- OS: Windows 11 (x64, 1280x800 display, scale factor 1.5)
- Initial version: 1.0.3218 (installed 2026-01-14)
- Final version before reinstall: 1.1.4173 (auto-updated 2026-02-25)
- Install type: MSIX package (
Packages\Claude_pzs8sxrjxfjjc)
Timeline from main.log
Phase 1: Normal operation (Jan 14–Feb 3)
App installed, updated through 8 versions (1.0.3218 → 1.1.1520), UI loaded successfully.
Phase 2: Network failures begin (Feb 4–11)
2026-02-04 09:36:28 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-04 09:36:28 [info] Error page detected: { href: 'chrome-error://chromewebdata/' }
2026-02-05 10:27:56 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-05 10:28:11 [error] Health check fetch failed: { error: Error: net::ERR_CERT_AUTHORITY_INVALID }
2026-02-07 14:35:48 [info] Failed to load URL: https://claude.ai/ { errorCode: -118, errorDescription: 'ERR_CONNECTION_TIMED_OUT' }
2026-02-09 10:47:33 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-11 15:50:26 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
The ERR_CERT_AUTHORITY_INVALID errors indicate a corporate proxy performing TLS inspection — a legitimate and common enterprise network configuration.
Phase 3: Updates continue, UI never recovers (Feb 4–25)
Auto-updater successfully downloaded and installed 12 more versions while the UI remained stuck:
2026-02-04 Update downloaded: 1.1.1890
2026-02-07 Update downloaded: 1.1.2321
2026-02-09 Update downloaded: 1.1.2512
2026-02-11 Update downloaded: 1.1.2685
2026-02-12 Update downloaded: 1.1.2998
2026-02-14 Update downloaded: 1.1.3189
2026-02-17 Update downloaded: 1.1.3363
2026-02-19 Update downloaded: 1.1.3541
2026-02-19 Update downloaded: 1.1.3647
2026-02-20 Update downloaded: 1.1.3770
2026-02-23 Update downloaded: 1.1.4010
2026-02-24 Update downloaded: 1.1.4088
2026-02-25 Update downloaded: 1.1.4173
No Failed to load URL entries appear after Feb 11, suggesting the web view stopped attempting to reload claude.ai entirely — it remained stuck on the cached error page.
Phase 4: Manual reinstall required
User had to manually reinstall the app to restore the UI.
Root cause
Three architectural issues combine to create this problem:
- Cache stored outside MSIX sandbox: The web view cache (
Cache,Code Cache,Session Storage) is stored in%APPDATA%\Claude, not in the MSIX package's own data directories (LocalCache/TempState). This means the Windows "Reset" button for packaged apps does not clear the problematic data.
- Auto-updater doesn't validate or clear web view state: The Squirrel/MSIX updater replaces binaries but never checks whether the web view is in a healthy state. No update can fix a stale cached error page.
- No retry/recovery logic in the Electron app: When the web view loads
chrome-error://chromewebdata/, the app does not detect this and attempt to re-navigate tohttps://claude.ai/. The error state becomes permanent.
- MSIX packaging prevents user workarounds: Unlike a traditional
.exeinstall, users cannot modify the app's launch shortcut to run a cache-clearing script first. The Start menu entry is managed by Windows and cannot be edited.
Additional log evidence
The claude.ai-web.log also shows an EventEmitter leak related to the auto-updater retrying during the failure period:
2026-02-07 14:36:59 [warn] MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 $eipc_message$..._AutoUpdater_$_updaterState_$store$_update listeners added.
What Should Happen?
Proposed fixes
- Add automatic recovery: Detect when the web view is on
chrome-error://chromewebdata/and periodically retry loadinghttps://claude.ai/with exponential backoff.
- Clear stale cache on update: When the auto-updater installs a new version, clear
Cache,Code Cache, andSession Storageto prevent stale error states from persisting across versions.
- Move cache into MSIX sandbox: Store web view cache in the MSIX package's
LocalCachedirectory so that Windows' built-in app reset functionality works.
- Add tray icon recovery option: Expose a "Clear cache and reload" menu item in the system tray icon so users can recover without reinstalling, even when the main window is blank.
- Support
NODE_EXTRA_CA_CERTSin MSIX: Ensure the packaged app respects this environment variable so enterprise users behind TLS-inspecting proxies can add their organization's CA certificate.
Error Messages/Logs
## Timeline from `main.log`
### Phase 1: Normal operation (Jan 14–Feb 3)
App installed, updated through 8 versions (1.0.3218 → 1.1.1520), UI loaded successfully.
### Phase 2: Network failures begin (Feb 4–11)
2026-02-04 09:36:28 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-04 09:36:28 [info] Error page detected: { href: 'chrome-error://chromewebdata/' }
2026-02-05 10:27:56 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-05 10:28:11 [error] Health check fetch failed: { error: Error: net::ERR_CERT_AUTHORITY_INVALID }
2026-02-07 14:35:48 [info] Failed to load URL: https://claude.ai/ { errorCode: -118, errorDescription: 'ERR_CONNECTION_TIMED_OUT' }
2026-02-09 10:47:33 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
2026-02-11 15:50:26 [info] Failed to load URL: https://claude.ai/ { errorCode: -106, errorDescription: 'ERR_INTERNET_DISCONNECTED' }
The `ERR_CERT_AUTHORITY_INVALID` errors indicate a corporate proxy performing TLS inspection — a legitimate and common enterprise network configuration.
### Phase 3: Updates continue, UI never recovers (Feb 4–25)
Auto-updater successfully downloaded and installed 12 more versions while the UI remained stuck:
2026-02-04 Update downloaded: 1.1.1890
2026-02-07 Update downloaded: 1.1.2321
2026-02-09 Update downloaded: 1.1.2512
2026-02-11 Update downloaded: 1.1.2685
2026-02-12 Update downloaded: 1.1.2998
2026-02-14 Update downloaded: 1.1.3189
2026-02-17 Update downloaded: 1.1.3363
2026-02-19 Update downloaded: 1.1.3541
2026-02-19 Update downloaded: 1.1.3647
2026-02-20 Update downloaded: 1.1.3770
2026-02-23 Update downloaded: 1.1.4010
2026-02-24 Update downloaded: 1.1.4088
2026-02-25 Update downloaded: 1.1.4173
No `Failed to load URL` entries appear after Feb 11, suggesting the web view stopped attempting to reload `claude.ai` entirely — it remained stuck on the cached error page.
### Phase 4: Manual reinstall required
User had to manually reinstall the app to restore the UI.
Steps to Reproduce
Steps to reproduce
- Install Claude Desktop on Windows via MSIX package.
- Connect to a network with a TLS-inspecting proxy (or simulate by blocking
claude.aitemporarily). - Launch the app — it will show an error page.
- Restore network connectivity and relaunch the app.
- Observe that the app remains stuck on the error page despite the network being available.
- Note that auto-updates continue to install successfully in the background.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
the most recent startup entry shows: App version: 1.1062.0 Claude Code SDK: 2.1.92 Node: 22.21.1
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
I'm using Claude Desktop (fat client), which maybe I shouldn't be and should just use the command line.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗