Skip to content

[BUG] Reinstalling Claude Desktop after a crash silently wipes local session/recents data — no warning, no opt-out, no rebuild-from-disk fallback #82130

Description

@cooperdk

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?

Summary

Claude Desktop (Windows, MSIX package Claude_pzs8sxrjxfjjc) crashed/became unusable and required reinstalling. The reinstall was not an explicit "uninstall and delete my data" action — just installing over a broken app to get it working again. This silently wiped AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\ (the app's entire local state: IndexedDB, cache, config, session tracking) and recreated it empty, with no warning that this would happen and no way to opt out.

As a result, weeks of recent coding sessions created through Desktop's "Code" feature vanished from the app's Recents/sidebar — even though the actual session transcripts were completely unaffected, because they live in a separate, non-packaged location (~/.claude/projects/) that the underlying claude engine writes to regardless of which front-end (Desktop, CLI, IDE plugin) launched it.

Environment

  • OS: Windows
  • App: Claude Desktop, MSIX package Claude_1.24012.9.0_x64__pzs8sxrjxfjjc
  • Previous version found still present at C:\ProgramData\Microsoft\Windows\WindowsApps\Claude_1.22209.3.0_x64__pzs8sxrjxfjjc (same package family)
  • Install method: installer run as Administrator (required — app would not launch for the standard user account otherwise)

What happened, step by step

  1. Claude Desktop broke/crashed and needed reinstalling.
  2. Reinstalled (as Administrator, since a normal-account install silently failed to launch — possibly a related/separate bug).
  3. Post-reinstall, Desktop's Recents list showed only very old sessions — nothing from the prior ~30 days, despite active daily use of the "Code" feature against a project at X:\Github.
  4. CoworkVMService was also found stopped despite StartType: Automatic; manually starting it via services.msc resolved that part, but did not restore the missing session history.
  5. Investigation (detailed below) confirmed the actual conversation transcripts were 100% intact and current (most recent file timestamped the same night, pre-reinstall) in C:\Users\<user>\.claude\projects\<project-slug>\<session-id>.jsonl — confirmed resumable via claude --resume "<session name>".
  6. However, every single file inside AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\ (~33MB: IndexedDB, Cache, config.json, claude_desktop_config.json, window-state.json, etc.) was timestamped to the exact moment of reinstall, with nothing older — conclusive evidence the entire folder was deleted and recreated from scratch during the reinstall, not merely updated in place.
  7. Direct inspection of the live IndexedDB LevelDB store (copied out via robocopy to avoid the file lock, then raw-byte-scanned for the session ID/title) turned up no reference to the missing sessions anywhere. LocalState was empty. The project-local .claude folder (X:\Github\.claude) contained only settings.json/settings.local.json/launch.json — no session data. Disk-recovery attempts (Recuva, Active File Recovery) on the freed space turned up nothing usable — recovered fragments were misattributed remnants from unrelated software (a slicer app's network cache, an ASUS updater log Recuva happened to name claude_desktop_config.json), not Claude data.
  8. Conclusion: the session/recents index Desktop relies on for its UI was irrecoverably wiped by the reinstall. The underlying work was never at risk (it lives outside the packaged-app sandbox), but the discoverability of that work inside Desktop was destroyed with no warning and no recovery path.

Root cause (as best determined without source access)

MSIX packaged apps store per-user state under AppData\Local\Packages\<PackageFamilyName>\. When an install is broken enough to require reinstalling, Windows/App Installer appears to fully unregister the package before re-registering it — and unregistering an MSIX package deletes its AppData\Local\Packages\<PFN>\ folder as standard OS behavior, same as a deliberate uninstall. There is no distinction, from the user's perspective, between "repair a crashed install" and "wipe my data and start over" — both go through the same package-removal code path, and no confirmation or warning is surfaced before it happens.

Impact

  • Silent, irreversible loss of the Desktop app's session/recents index for all projects, after an action (reinstalling a crashed app) that a reasonable user would not expect to be destructive.
  • No pre-reinstall warning ("this will reset your local Claude Desktop data") to allow backing up first.
  • No post-reinstall recovery mechanism, since Desktop's Recents UI does not fall back to scanning ~/.claude/projects/ for orphaned-but-valid sessions when its own index is empty.

Suggested fixes

  1. Don't tie session/recents state to the MSIX package-data lifecycle, or at minimum, warn explicitly before any reinstall/repair flow that proceeding will reset local app state (cache, recents, window state), giving the user a chance to back it up or cancel.
  2. Distinguish "repair" from "reset." A reinstall intended to fix a broken install should not implicitly perform the same data wipe as an explicit "Reset app" / "Uninstall and delete data" action.
  3. Implement a rebuild-from-disk fallback for the Recents/sidebar list: since session transcripts already live in a stable, non-packaged location (~/.claude/projects/<project>/<session-id>.jsonl), Desktop could reconstruct its session list from those files (mtime, first message/summary) whenever its own index is missing entries for a connected project, rather than showing nothing. This alone would have fully mitigated this report.

Related existing issues

Workaround for anyone hitting this

Your data is very likely not actually lost. Check C:\Users\<you>\.claude\projects\<project-path-with-dashes>\ for .jsonl files — if they're there, run claude --resume (no argument, from the project directory) to list and resume sessions directly via CLI, bypassing Desktop's broken Recents list entirely.

What Should Happen?

Claude Desktop should restart with intact projects/sessions

Error Messages/Logs

Steps to Reproduce

Unclear. The app crashed in a way so that it could not go to the session view (telling me about an update that was ready). It never went past that screen, even after reboot/total app kill and restart.

The clear message is that the installer/uninstaller should NEVER remove user data. It did.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

1.24012.9

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

This is NOT Windows Terminal, but Claude Desktop. Claude tells me to file the report here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions