Updating to Cursor 3.7.12 fails (Ubuntu 24.04, AppImage)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I am on Ubuntu 24.04 desktop, running Cursor AppImage

When I do the “update” (through the GUI menu → Restart to update), i get the attached error after it comes back up

Steps to Reproduce

Using Cursor, it shows (bottom left) “Update”
When I click on that. Then exit Cursor. Wait some time, then run Cursor
See the error message (attached screenshot)

Expected Behavior

Cursor should be upgraded.

Screenshots / Screen Recordings

Operating System

Linux

Version Information

Version: 3.6.21
VS Code Extension API: 1.105.1
Commit: e7a7e93f4d75f8272503ecf33cedbaae10114a10
Date: 2026-05-28T21:45:36.072Z
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
xterm.js: 6.1.0-beta.220
OS: Linux x64 6.17.0-1024-oem

Additional Information

So I asked Cursor to diagnose the root cause (using Auto mode):
traced this through your logs and system journal. The update is not failing on download — it fails at a signature check afterward.

What’s happening
You’re on the AppImage install at ~/.local/bin/Cursor.AppImage (currently 3.6.21, dated May 30). Cursor detects 3.7.12, quits, and runs its built-in updater (appimageupdatetool + zsync).

Each attempt today follows the same pattern in journalctl:

zsync downloads ~299 MB successfully
zsync2: checksum matches OK
Validation error: AppImage no longer comes with signature
Restoring original file
So the new version is downloaded, then rejected and rolled back. That’s why you still see 3.6.21 and the “couldn’t finish installing” toast after every try.

Root cause
Your current AppImage is GPG-signed (confirmed via --appimage-signature). The 3.7.12 build appears to be unsigned. AppImageUpdate treats going from signed → unsigned as a security failure and restores the old file.

This is a Cursor packaging/updater mismatch, not a network, disk space, or permissions issue on your machine.

Workaround (manual update)
Since zsync already proves the download is valid, you can replace the file manually:

Quit Cursor completely (all windows).
Back up the current file:
cp ~/.local/bin/Cursor.AppImage ~/.local/bin/Cursor.AppImage.bak
Download 3.7.12 directly:
curl -L -o ~/.local/bin/Cursor.AppImage.new
https://downloads.cursor.com/production/b887a26c4f70bd8136bfffeda812b24194ec9ce0/linux/x64/Cursor-3.7.12-x86_64.AppImage
chmod +x ~/.local/bin/Cursor.AppImage.new
mv ~/.local/bin/Cursor.AppImage.new ~/.local/bin/Cursor.AppImage
Launch Cursor again from your desktop entry (~/.local/share/applications/cursor.desktop).
After that, in-app updates may work again for future releases if they stay consistently unsigned (no signed→unsigned transition).

What to report to Cursor
Worth filing as a bug: in-app AppImage update fails when upgrading from a signed build to an unsigned one. The updater should either keep signing releases or allow the transition when the download checksum is valid.

I can run the manual download/replace for you once you’ve fully quit Cursor — say the word if you want that.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. Your diagnosis is spot on. This is a packaging issue on our side. The current AppImage is signed, but the 3.7.12 build is coming unsigned, and AppImageUpdate rejects the update as signed to unsigned. Your system, network, and disk are all fine.

The workaround you found does work. Manually replacing the AppImage bypasses the check:

  1. Fully quit Cursor.
  2. Backup: cp ~/.local/bin/Cursor.AppImage ~/.local/bin/Cursor.AppImage.bak
  3. Download 3.7.12 directly:
curl -L -o ~/.local/bin/Cursor.AppImage.new \
  "https://downloads.cursor.com/production/b887a26c4f70bd8136bfffeda812b24194ec9ce0/linux/x64/Cursor-3.7.12-x86_64.AppImage"
  1. chmod +x ~/.local/bin/Cursor.AppImage.new
  2. mv ~/.local/bin/Cursor.AppImage.new ~/.local/bin/Cursor.AppImage
  3. Launch Cursor again.

I’ve reported the bug internally. I can’t share an ETA yet, but I’ll reply in the thread once an update is out. Let me know if the manual replacement doesn’t work.

Same issue on windows 11 home - er just the unable to update and it failing on 3.7.12

@jdubb75, on Windows the update mechanism is different from Linux AppImage, so your issue is most likely not the same as in this thread (even if the symptom looks similar).

Fastest way to update manually:

  1. Fully close Cursor (make sure there’s no process still running in the system tray).
  2. Download the latest installer from Cursor · Download
  3. Run it over your current install. Your settings, extensions, and history will stay, no need to reinstall from scratch.

To debug the update error itself, please share the exact text or a screenshot of the message you’re seeing, and the version from Help > About. If this turns out to be a separate Windows bug, it’s better to start a new thread for it so it doesn’t get mixed with the Linux issue. Let me know how the manual reinstall goes.

The diagnosis was done by your wonderful product, Cursor. All I had to do was paste the error message screenshot in it’s chat window and it did the rest.

:grinning_face:

Ha, that’s actually pretty cool. Nice that Cursor could figure out the root cause from just one screenshot. The diagnosis was spot on.

We’ve already logged the signed to unsigned upgrade bug. The manual AppImage swap described above is working as a temporary workaround for now. Let me know if anything goes wrong.

Manual reinstall worked. Sorry for impeding the bug report process, thanks!

@jdubb75 Nice, glad it’s working. And no need to apologize, thanks for confirming.

Just to be clear: on Windows the update mechanism is different from the Linux AppImage flow, so you had a separate issue, not the one in this Linux thread. If you hit an update error on Windows again, please start a new thread so it doesn’t get mixed up with the Linux bug, and include the error text plus your version from Help > About.