Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
After the automatic update from 3.21.16 to 3.21.18, reopening Cursor after closing all windows intermittently looked like a fresh installation: my custom dark/purple theme and layout were missing or substantially different, earlier recent folders were missing from the Windows taskbar jump list, and previous chats were not visible as expected.
Restarting temporarily restored the old state, but the problem recurred after another full close/reopen. This interrupted work and looked like data loss.
Local investigation found that settings.json still contained the original color settings, and the existing database still contained six recent-project entries and previous conversation bodies. SQLite PRAGMA quick_check returned “ok”. A before/after recovery comparison found no missing records among 596 existing conversation-related records (25 composerData records, including possible drafts, and 571 bubbleId records), with no changes to those 571 existing bubble records.
Therefore this is apparent data loss / state loading or restoration failure; permanent deletion of those records was not established. The root cause remains unresolved.
Steps to Reproduce
Observed sequence on September 23, 2026:
- Use Cursor 3.21.16 with multiple local project windows, existing chats and custom workbench colors.
- Let the automatic update download in the background.
- Close all Cursor windows, then reopen Cursor after the update to 3.21.18 applies.
- The UI/theme and recent-project/chat presentation appear reset.
- Restarting can temporarily restore them, but another full close/reopen can trigger the problem again.
This is not a guaranteed minimal reproduction: some controlled exit/relaunch tests on 3.21.18 succeeded. The issue is intermittent or depends on startup conditions that have not been isolated.
Expected Behavior
Retain the existing theme/layout, recent projects, and chat history consistently across updates and full restarts, without making the installation look reset while the original data remains on disk.
Operating System
Windows 10/11
Version Information
Windows x64, version 24H2, OS build 26100.8457. Cursor stable per-user installation. Previously working: 3.21.16. Affected automatic update: 3.21.18. Current workaround: rolled back to signed 3.21.16 installer.
Additional Information
Update timeline (September 23, UTC+08:00): download started around 01:27; silent installer prepared the update around 01:28-01:29; application replacement completed after Cursor exited around 09:50.
Shutdown log clue, with the personal path redacted:
CodeExpectedError: ENOPRO: No file system provider found for resource ‘file:///REDACTED_USER_PROFILE/AppData/Roaming/Cursor/User/globalStorage/storage.json’
The same error also appeared before a successful recovery, so it is not proof of the cause.
Workaround after backing up current data:
- Reinstalled the signed 3.21.16 application while retaining current user data (did not restore an old user database).
- Set update.mode=“manual” and update.enableWindowsBackgroundUpdates=false.
- Set window.restoreWindows=“all” and startup preference to last-used project windows instead of default.
The theme and old chats, including chats created on the incident day, returned. One full exit/cold-relaunch cycle was visually verified. A second full exit/relaunch was initiated and data/settings checks passed, but its visual inspection was not completed. Normal use currently appears restored. Since the version and startup preferences changed together, the exact cause is not isolated; I have not re-upgraded to deliberately reproduce it again.
Please investigate the Windows update / first-window / profile and workspace restoration path. Is this a known 3.21.18 issue? Please provide a fixed version or supported recovery procedure preserving current data, and advise which targeted diagnostics are needed. I would like to resume updates safely instead of staying on an older version with automatic updates disabled.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor