Extensions wouldn’t start because of a problem with the latest Cursor update.
If you update Cursor and you run Ubuntu, you may run into this. The problem: Cursor would hang on startup because its sandbox helper (cursor-sandbox) lacked the necessary setuid root permissions, and the system had unprivileged user namespaces disabled (kernel.unprivileged_userns_clone=0), preventing the application from properly initializing its sandbox environment.
The solution:
Enable unprivileged user namespaces
sudo sysctl -w kernel.unprivileged_userns_clone=1
Why: cursor-sandbox relies on user namespaces to create its restricted environment.
Persistent across reboots: Add to /etc/sysctl.d/99-cursor.conf:
kernel.unprivileged_userns_clone=1
Set cursor-sandbox as setuid root
sudo chown root: /usr/share/cursor/resources/app/resources/helpers/cursor-sandbox
sudo chmod 4755 /usr/share/cursor/resources/app/resources/helpers/cursor-sandbox
Why: The Electron sandbox helper requires root privileges to establish the sandbox.
Effect: ls -l shows: -rwsr-xr-x root root cursor-sandbox.
Steps to Reproduce
Start Cursor 2.2.17 and try to use any extension. For instance, run a palette command like:
Vim: Toggle Vim mode
or
Remote-SSH: Connect to Host
Expected Behavior
It should toggle vim mode or open a host connection option. Instead, “Activating Extensions” was shown in the lower left corner of the window for a few seconds and nothing else would happen.
Operating System
Linux
Current Cursor Version (Menu → About Cursor → Copy)
I also ran into this (I think). I didn’t do the root cause analysis, but I’m on Ubuntu LTS and after the upgrade to cursor 2.2, my Dev Containers extension wouldn’t work (I could connect to my development container). Took my all morning of looking around until I finally just downgraded back to version 2.1.50, and now it all works again.
The behavior for me was, after running the command to “Reopen in container” or “Rebuild + Reopen in container” I would just see “Activating extensions…” in the cursor taskbar, and then it would disappear and otherwise fail completely silently. No errors, no alerts, nothing.
Another factor here was the kernel version. When troubleshooting I booted an older kernel. I didn’t realize this was a factor until I booted the newer kernel today and it was broken again.
I’m running Ubuntu 24.10 with the 6.17.0-7-generic kernel. When I boot the 6.17.0-8-generic it breaks again. So, this is a multi-faceted issue, some parts in Cursor and some in Linux.
I also upgraded the deb package today. The problem persists in Cursor version 2.2.20.
If you read the OP, you’ll see my 2 steps that are the solution, or at least a workaround that doesn’t involve downgrading Cursor. You must run a Linux kernel that allows the solution to do its thing, which for me is Ubuntu’s linux-image-6.17.0-7-generic. My solution does not work with linux-image-6.17.0-7-generic.
I ran system updates and rebooted today (to the same “-7” kernel) and it was broken again. Had to add this to the mix to get it working again:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
Funny that this time it also broke antigravity, which was working without changes before this latest development.
So, I’m pretty ticked off at Ubuntu this week. More than usual, anyway.
@ravirahman Thank you for following up and suggesting a newer version. I’m now running version 2.3.10 and I’ve found it necessary to create an exception specific to cursor in order to get it working. Please see the bug I filed below for more details. I suggest that the deb package create this file for the user.
I’ve been trying to upgrade every week or so and testing to see if my Dev Containers extension would work, and just wanted to let you know this was the first time it worked. I was able to upgrade, and my extensions worked including my Dev Containers extension.
For reference, my upgrade was from V2.1.50 → V2.3.34.