[BUG] Claude Desktop v1.2581.0 crash loop on startup — both MSIX and .exe installs (Windows)

Resolved 💬 2 comments Opened Apr 15, 2026 by TAGE7 Closed May 26, 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?

After auto-updating from Claude Desktop 1.2278.0 to 1.2581.0 (MSIX install, Windows 11 x64), the app enters an immediate crash-restart loop on every launch. The crash also reproduces on a clean .exe install of 1.2581.0, ruling out MSIX-specific corruption. Rolling back to 1.1348.0 via the .exe installer resolves the crash.

Crash signature (repeats every 30–80 seconds)
Every startup produces a blank Sentry error with no stack trace:
[error] Sentry caught: {
eventId: '438c63be99674fa39e9a7f104c1748ff',
type: 'Unknown',
value: 'No message',
stack: undefined
}
Config migration failure on first launch after update
The first boot after the update logged this error:
SEE BELOWEnvironment

OS: Windows 11 x64
Previous version (stable): 1.2278.0 (MSIX)
Broken version: 1.2581.0 (both MSIX and .exe)
Rollback version (stable): 1.1348.0 (.exe)
Claude Code version: 2.1.101 (unaffected, runs fine in terminal/VS Code)
Node version (from logs): 24.14.0
Install type tested: Both MSIX (Windows Store) and .exe (Squirrel)
Windows updates: Fully patched as of April 15, 2026 (all .NET security updates applied)

Workaround
For anyone else hitting this:

Uninstall both the MSIX (Store) and .exe versions of Claude Desktop
Download v1.1348.0 from Uptodown's older versions page
Disconnect from the internet before launching (the Squirrel auto-updater is aggressive)
Install and launch v1.1348.0
Disable the auto-updater by renaming the Squirrel updater binary:

powershell Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\Update.exe" "Update.exe.bak"
Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.1348.0\squirrel.exe" "squirrel.exe.bak"

Reconnect to the internet — the app will run normally on 1.1348.0
If the updater already downloaded v1.2581.0 before you disabled it, remove it:

powershell Remove-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.2581.0" -Recurse -Force
To restore auto-updates once a fix is shipped:
powershellRename-Item "$env:LOCALAPPDATA\AnthropicClaude\Update.exe.bak" "Update.exe"
Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.1348.0\squirrel.exe.bak" "squirrel.exe"
Recovering lost Claude Code sessions
The update can cause Claude Code sessions to disappear from the Desktop UI even though transcript files (.jsonl) remain intact on disk under ~\.claude\projects\. Session metadata files may also survive under %APPDATA%\Claude\claude-code-sessions\. If your session is missing after rolling back:

Verify your transcript .jsonl files still exist in ~\.claude\projects\
If the session metadata .json was lost, you can recreate it in %APPDATA%\Claude\claude-code-sessions\<accountId>\<orgId>\ using the original session properties
As a fallback, use claude --resume from the CLI in your project directory to pick up where you left off

Notes

The blank Sentry error (type: 'Unknown', value: 'No message', stack: undefined) makes this very difficult to debug from the user side — whatever is crashing happens before the error reporter can capture a stack trace.
The CLAUDE_DESKTOP_DISABLE_AUTO_UPDATE environment variable does not appear to be respected by the .exe/Squirrel installer.
This may be related to #47877 (MSIX stuck in Staged state) and #35131 (upgrade loses sessions), though the crash itself is distinct.

What Should Happen?

Claude Desktop should launch and run normally after updating to v1.2581.0.

Error Messages/Logs

Crash signature (repeats every 30–80 seconds)
Every startup produces a blank Sentry error with no stack trace:
[error] Sentry caught: {
  eventId: '438c63be99674fa39e9a7f104c1748ff',
  type: 'Unknown',
  value: 'No message',
  stack: undefined
}
Config migration failure on first launch after update
The first boot after the update logged this error:
[error] CFPrefs→JSON migration write failed ENOENT: no such file or directory,
  rename '...AppData\Roaming\Claude-3p\claude_desktop_config.json.tmp'
      -> '...AppData\Roaming\Claude-3p\claude_desktop_config.json'
The Claude-3p directory did not exist. Manually creating it did not resolve the crash.
Session discovery broken
Each restart logs existingSessions=0 even though session files exist on disk:
[info] [LocalSessionManager] Initialization succeeded — existingSessions=0
[info] [LocalAgentModeSessionManager] Initialization succeeded — existingSessions=0
On one attempt after manually copying the session metadata file, the app logged:
[warn] Skipping invalid session file: local_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.json
This suggests a schema change between versions that rejects older session metadata.
GPU process crash (pre-existing, possibly related)
Earlier logs also show:
[info] GPU process gone: { type: 'GPU', reason: 'crashed', exitCode: 34, serviceName: 'GPU' }
Launching with --disable-gpu and setting ELECTRON_DISABLE_GPU=1 did not resolve the crash.
Additional errors (non-blocking but present every startup)

[error] [GitHubPrManager] Failed to get PR state for branch: Failed to spawn gh: spawn gh ENOENT (GitHub CLI not installed — harmless)
[info] [remoteUploadsMigration] upload_migration.paths_unavailable err=Error: No active account/org for marketplace operations (fires before account IPC completes)

Steps to Reproduce

  1. Run Claude Desktop v1.2278.0 (MSIX, Windows 11) — app is stable
  2. App auto-updates to v1.2581.0
  3. App crashes on startup, restarts, crashes again — indefinite loop
  4. Uninstall MSIX version completely
  5. Install v1.2581.0 via .exe installer (from claude.ai/api/desktop/win32/x64/exe/latest/redirect)
  6. App crashes identically on the .exe install

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

1.2278.0 / 1.1348.0

Claude Code Version

2.1.101 (unaffected, runs fine in terminal/VS Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

Environment

OS: Windows 11 x64
Previous version (stable): 1.2278.0 (MSIX)
Broken version: 1.2581.0 (both MSIX and .exe)
Rollback version (stable): 1.1348.0 (.exe)
Claude Code version: 2.1.101 (unaffected, runs fine in terminal/VS Code)
Node version (from logs): 24.14.0
Install type tested: Both MSIX (Windows Store) and .exe (Squirrel)
Windows updates: Fully patched as of April 15, 2026 (all .NET security updates applied)

Workaround
For anyone else hitting this:

Uninstall both the MSIX (Store) and .exe versions of Claude Desktop
Download v1.1348.0 from Uptodown's older versions page
Disconnect from the internet before launching (the Squirrel auto-updater is aggressive)
Install and launch v1.1348.0
Disable the auto-updater by renaming the Squirrel updater binary:

powershell Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\Update.exe" "Update.exe.bak"
Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.1348.0\squirrel.exe" "squirrel.exe.bak"

Reconnect to the internet — the app will run normally on 1.1348.0
If the updater already downloaded v1.2581.0 before you disabled it, remove it:

powershell Remove-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.2581.0" -Recurse -Force
To restore auto-updates once a fix is shipped:
powershellRename-Item "$env:LOCALAPPDATA\AnthropicClaude\Update.exe.bak" "Update.exe"
Rename-Item "$env:LOCALAPPDATA\AnthropicClaude\app-1.1348.0\squirrel.exe.bak" "squirrel.exe"
Recovering lost Claude Code sessions
The update can cause Claude Code sessions to disappear from the Desktop UI even though transcript files (.jsonl) remain intact on disk under ~\.claude\projects\. Session metadata files may also survive under %APPDATA%\Claude\claude-code-sessions\. If your session is missing after rolling back:

Verify your transcript .jsonl files still exist in ~\.claude\projects\
If the session metadata .json was lost, you can recreate it in %APPDATA%\Claude\claude-code-sessions\<accountId>\<orgId>\ using the original session properties
As a fallback, use claude --resume from the CLI in your project directory to pick up where you left off

Notes

The blank Sentry error (type: 'Unknown', value: 'No message', stack: undefined) makes this very difficult to debug from the user side — whatever is crashing happens before the error reporter can capture a stack trace.
The CLAUDE_DESKTOP_DISABLE_AUTO_UPDATE environment variable does not appear to be respected by the .exe/Squirrel installer.
This may be related to #47877 (MSIX stuck in Staged state) and #35131 (upgrade loses sessions), though the crash itself is distinct.

View original on GitHub ↗

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