[BUG] MSIX Claude Desktop: Web view gets permanently stuck on error page — no user recovery path

Resolved 💬 2 comments Opened Apr 8, 2026 by MichaelMurrayMHI Closed Apr 11, 2026

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:

  1. 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.
  1. 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.
  1. 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 to https://claude.ai/. The error state becomes permanent.
  1. MSIX packaging prevents user workarounds: Unlike a traditional .exe install, 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

  1. Add automatic recovery: Detect when the web view is on chrome-error://chromewebdata/ and periodically retry loading https://claude.ai/ with exponential backoff.
  1. Clear stale cache on update: When the auto-updater installs a new version, clear Cache, Code Cache, and Session Storage to prevent stale error states from persisting across versions.
  1. Move cache into MSIX sandbox: Store web view cache in the MSIX package's LocalCache directory so that Windows' built-in app reset functionality works.
  1. 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.
  1. Support NODE_EXTRA_CA_CERTS in 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

  1. Install Claude Desktop on Windows via MSIX package.
  2. Connect to a network with a TLS-inspecting proxy (or simulate by blocking claude.ai temporarily).
  3. Launch the app — it will show an error page.
  4. Restore network connectivity and relaunch the app.
  5. Observe that the app remains stuck on the error page despite the network being available.
  6. 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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗