Cursor couldn't finish installing the update to version 3.6.31

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor couldn’t finish installing the update to version 3.6.31

Steps to Reproduce

Just launch Cursor, notice that it fails to update.

Clicking on Try again seems to be attempting to install the update (cursor closes) but it just never reopens and next time its opened manually the same message is shown and Cursor is not updated.

Expected Behavior

Cursor does not fail to update.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Version: 3.5.33
VSCode Version: 1.105.1
Commit: aac81804b986d739acab348ed96b8bea6e83cc50
Date: 2026-05-22T06:47:48.039Z (1 wk ago)
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.2.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. This is a known issue with the auto-updater on macOS. Sometimes it can’t apply an update and keeps showing this toast in a loop, while Cursor continues running on the old version.

The most reliable workaround is to reinstall manually:

  1. Download the latest build from Cursor · Download
  2. Quit Cursor completely with Cmd+Q
  3. Open the downloaded .dmg and drag Cursor into Applications, replacing the current version

Your settings, extensions, and chat history will be kept. This is just replacing the app binary, not a clean reinstall.

This is a bug on our side, and we don’t have an ETA for a fix yet. If the update still fails after the manual reinstall, or if Cursor won’t launch, let us know and we’ll take a closer look.

Hey @MaxBCM just wanted to check if you were able to install the latest version using a manual reinstall from Cursor · Download? The current stable is 3.7.21.

If the manual reinstall worked and Cursor launches normally, can you check if in-app updates now apply without the same error? If the failed update toast still comes back or Cursor won’t open after an update, let me know and we’ll take a closer look. If you can, please include:

  • the version you’re on right now (Cursor > About)
  • whether the error shows up again on the next in-app update

There’s no timeline yet for a fix to the auto-updater itself, but I want to make sure you’re at least on the latest version and not stuck.

Hey @deanrie

I was able to install 3.7.12 manually.

Unfortunately shortly after another update was available and I clicked on the Install and Restart banner and it failed.

This is not a good user experience, if everytime an update becomes available I have to interrupt what I am doing and manually download the update from the website.

@MaxBCM thanks for coming back with more details, I can see the screenshot showing the update failing on 3.7.19.

You’re right, and I totally agree. Having to do a manual download for every update isn’t the experience it should be. This confirms the bug is in the in-app auto-updater on macOS. On restart, Cursor quits, but the update doesn’t apply, and it reopens on the old version. Manually reinstalling fixes that specific version, but not the updater itself, so the next in-app update fails again.

This is on our side, and I’ve re-flagged it internally with your fresh data (3.7.12 → 3.7.19) since it still repros on the latest stable. Honestly, I don’t have an ETA for a fix yet, and until then the only reliable workaround is a manual download from Cursor · Download.

I know that’s annoying. As soon as there’s an update on the fix, I’ll reply in this thread.

@MaxBCM, to dig into the root cause of why ShipIt isn’t applying the update on macOS, can you share a couple of logs? They’ll help us see which step the process is failing at:

  1. ShipIt updater logs:
    ~/Library/Caches/co.anysphere.cursor.*.ShipIt
  2. Cursor logs:
    ~/Library/Application Support/Cursor/logs

Fastest way to get there: in Finder press Cmd+Shift+G, paste the path, then hit Enter. Zip both folders and attach them here. If anything’s sensitive, you can email them to [email protected] and include a link to this thread.

If you can, grab the logs right after another failed update attempt so they’re as fresh as possible. The manual download workaround still works for now, but we need these logs to get to the real cause.

This folder is not on my computer, neither is ~/Library/Caches/com.anysphere.cursor.*.ShipIt

Here is an analysis of the logs:

The update downloads successfully every time — the failure is at the install step.

The sequence in both the Jun 8 11:15 and Jun 8 14:53 sessions is identical:

  1. Update detected → downloading → downloaded → ready ✓
  2. doQuitAndInstall() is called
  3. An exit watchdog is armed (5 second kill timer)
  4. …and then the next log session still shows version 3.7.12 — meaning the install never applied

The app restarts at the same version every time. Since there’s no ShipIt folder in the cache, ShipIt is either not running or crashing silently before it can write logs. That’s the
smoking gun — doQuitAndInstall() hands off to ShipIt, but ShipIt never executes the swap.

What to tell the Cursor admin: The update downloads and reaches ready state successfully every time. doQuitAndInstall() fires, the 5-second kill watchdog arms, but Cursor restarts at
version 3.7.12 unchanged. The ShipIt cache folder (co.anysphere.cursor.*.ShipIt) does not exist at all, suggesting ShipIt never ran. The failure is in the handoff between
doQuitAndInstall() and ShipIt, not in the download phase.

Hope that helps.

Thanks for the logs and the write-up, it really helps. The key finding matches what I’m seeing too: the update downloads and reaches ready, doQuitAndInstall() gets called, but the ShipIt cache folder co.anysphere.cursor.*.ShipIt isn’t there at all. That means ShipIt never starts, so the binary swap never happens. The failure is in the handoff between doQuitAndInstall() and ShipIt, not during download. I’ve passed this along internally with your latest details (3.7.12 → 3.7.19), and we’ve confirmed a repro on the current stable build. No ETA for an updater fix yet, but I’ll post here as soon as there’s an update.

When ShipIt silently doesn’t launch on macOS, a common cause is where and how the app is installed. Can you confirm a couple things so we can narrow down the root cause:

  1. Where is Cursor.app installed, exactly in /Applications or somewhere else like Downloads or your home folder?
  2. What do you get in Terminal from:
    xattr -l /Applications/Cursor.app
    We’re checking for com.apple.quarantine.
  3. After the next failed update attempt, please check Console.app → Crash Reports and see if there are any crashes mentioning ShipIt or Cursor around the restart time.

Manual download from Cursor · Download is still the working way to update for now. I know it’s annoying to do every time.

Blockquote

  1. Where is Cursor.app installed, exactly in /Applications or somewhere else like Downloads or your home folder?

In Applications

Blockquote
2. What do you get in Terminal from:
xattr -l /Applications/Cursor.app
We’re checking for com.apple.quarantine.

Yeah its quarantined

Blockquote
3. After the next failed update attempt, please check Console.app → Crash Reports and see if there are any crashes mentioning ShipIt or Cursor around the restart time.

No I dont see any