claude-code - 💡(How to fix) Fix [BUG] Claude Desktop v1.2581.0 crash loop on startup — both MSIX and .exe installs (Windows) [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#48290Fetched 2026-04-16 07:03:58
View on GitHub
Comments
0
Participants
1
Timeline
5
Reactions
0
Author
Participants
Timeline (top)
labeled ×5

Error Message

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)

Fix Action

Fix / Workaround

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:

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)

Code Example

Crash signature (repeats every 3080 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)
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • 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.

extent analysis

TL;DR

The most likely fix for the crash-restart loop issue in Claude Desktop v1.2581.0 is to roll back to a stable version, such as v1.1348.0, and disable the auto-updater.

Guidance

  1. Roll back to a stable version: Uninstall both the MSIX and .exe versions of Claude Desktop, then download and install v1.1348.0 from Uptodown's older versions page.
  2. Disable the auto-updater: Rename the Squirrel updater binary to prevent it from updating to the broken version.
  3. Verify transcript files: Check if transcript .jsonl files still exist in ~\.claude\projects\ after rolling back.
  4. Recreate session metadata: If session metadata .json files were lost, recreate them in %APPDATA%\Claude\claude-code-sessions\<accountId>\<orgId>\ using the original session properties.
  5. Monitor for updates: Keep an eye on the issue tracker for a fix and re-enable auto-updates once a stable version is released.

Example

No code snippet is provided as the issue is related to a specific version of the application and its configuration.

Notes

The root cause of the issue is unclear due to the blank Sentry error, but rolling back to a stable version and disabling the auto-updater can mitigate the problem. This may be related to other issues, such as #47877 and #35131, but the crash itself is distinct.

Recommendation

Apply the workaround by rolling back to v1.1348.0 and disabling the auto-updater, as this is the most reliable way to resolve the crash-restart loop issue until a fixed version is released.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING