Persistent issue: committed changes intermittently revert when running dev client

Where does the bug appear (feature/product)?

Somewhere else…

Describe the Bug

Hi Cursor Team,

I’m seeing repeated regressions where committed UI changes intermittently disappear when I restart the dev client. Example: ~3–4 commits ago I changed the Home screen header icon; it was showing correctly yesterday, but today the app shows the old icon.
This keeps happening even though I:

git add / git commit / git push my changes,
restart the app with npx expo start --dev-client (and sometimes with --clear),
verify the code in the repo (correct icon path remains in Git history).
Each day I restart, some features appear to roll back to older versions. This is very frustrating and undermines confidence before release.
Could you help investigate?

Is there a known issue with stale bundles/dev-client caching in Cursor?

Any recommended steps to ensure the running bundle always reflects the latest committed code?

Anything in the Cursor environment that could serve an older bundle even after cache clears?

Thank you,
Faisal

Steps to Reproduce

I don’t know

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.2.20 (Universal)
VSCode Version: 1.105.1
Commit: b3573281c4775bfc6bba466bf6563d3d498d1070
Date: 2025-12-12T06:29:26.017Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 24.5.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. The issue with “reverting” commits when restarting the Expo dev client isn’t a Cursor bug but a known caching problem in the Expo/Metro bundler. Git keeps the correct code, but the old bundle remains cached.

This is NOT related to Cursor IDE - Cursor is just a code editor and doesn’t affect how Expo builds or caches JavaScript bundles.

For now, try a full cache cleanup (macOS):

1) Stop the dev server (Ctrl+C)
2) Clear all caches:
   rm -rf node_modules
   npm cache clean --force
   npm install
   watchman watch-del-all
   rm -fr $TMPDIR/haste-map-*
   rm -rf $TMPDIR/metro-cache
   rm -rf .expo
3) Restart with a clean cache:
   npx expo start --clear --dev-client

Also check:

  • If you change assets (icons/images), make sure they’re imported via require() in code, not just placed in a folder
  • After clearing caches, reinstall the dev client app on the device (remove and install again)
  • Restart the app on the device after changes, not just the dev server

Prevention: after each asset change, run npx expo start --clear instead of a normal restart.

Source: Clear bundler caches on macOS and Linux - Expo Documentation

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.