Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
This issue is a follow-up to the investigation on the Cursor forum:
The forum discussion confirmed that the AppArmor message is misleading, but after extensive debugging the underlying issue remains unresolved. This GitHub issue summarizes the technical findings and focuses on the actual impact.
I’m reporting this as a critical issue because Cursor has become unusable for my Remote SSH development workflow.
Terminal Sandbox consistently fails inside OrbStack VMs. As a result, Agent does not work correctly, extensions fail to function properly, and my normal development workflow is completely blocked.
I spent many hours debugging this together with Cursor support. We verified AppArmor, namespaces, Landlock, Bubblewrap, kernel configuration, PATH, Cursor Server installation, and tested multiple Ubuntu versions. The issue remains fully reproducible.
The exact same OrbStack VMs work correctly with Antigravity IDE and OpenCode. Cursor also works perfectly on macOS itself. The problem only appears when using Cursor through Remote SSH into an OrbStack VM.
Steps to Reproduce
Install Cursor 3.14.27 on macOS.
Create an Ubuntu VM in OrbStack 2.2.2.
Connect to the VM using Remote SSH.
Open an Agent terminal or use Agent features.
Cursor reports:
Terminal sandbox could not start.
This may be caused by an AppArmor configuration on your Linux system (kernel 6.2+).
Agent functionality becomes unusable and extensions no longer function correctly.
The issue is reproducible on both:
- Ubuntu 22.04
- Ubuntu 26.04
Expected Behavior
Cursor should successfully initialize Terminal Sandbox on OrbStack, or clearly report the actual reason why sandbox initialization failed.
Even if Terminal Sandbox cannot be enabled, Remote SSH development should remain fully functional. Agent functionality and extensions should continue working instead of becoming unusable.
Operating System
Linux
Version Information
Host
macOS 26.6 (Apple Silicon)
OrbStack
Version 2.2.2 (20903)
Cursor IDE
Version: 3.14.27
VS Code Extension API: 1.128.0
Commit: 047548b00c1a079373d74d00183f32510a4a41e0
Date: 2026-08-04T03:29:11.183Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Darwin arm64 25.6.0
Guest operating systems tested:
Ubuntu 22.04
Ubuntu 26.04
Kernel:
Linux 7.0.14-orbstack
For AI issues: which model did you use?
N/A
For AI issues: add Request ID with privacy disabled
N/A
Additional Information
The following has been verified during debugging:
AppArmor is not installed.
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECURITY_LANDLOCK=y
CONFIG_BPF_LSM=y
Landlock is active (landlock: Up and running).
Active LSMs: capability,landlock,yama,bpf.
Bubblewrap is installed and functional.
Ubuntu 22.04 uses Bubblewrap 0.6.1.
Ubuntu 26.04 uses Bubblewrap 0.11.1.
User namespaces work correctly.
unshare --mount fails for unprivileged users but succeeds with sudo.
Cursor Server was completely removed and reinstalled.
Cursor caches were cleared and rebuilt.
The issue remains fully reproducible after a clean installation.
I also verified that the exact same OrbStack VMs work correctly with:
- Antigravity IDE 2.1.1
- OpenCode 1.18.14
Both IDEs provide fully functional agent workflows on the same machines. Only Cursor fails.
I appreciate the time the Cursor team has already spent investigating this issue, but it has now become a critical blocker for my daily work.
At this point I have exhausted all reasonable troubleshooting steps that I can perform as an end user.
If there is a diagnostic build, additional logging, or an experimental flag that could help identify the root cause, I would be happy to test it and provide feedback.
However, if this issue cannot be resolved, I unfortunately won’t have a practical choice other than moving away from Cursor for my Remote SSH development workflow, because Agent functionality and extensions are essential for my daily work.
Does this stop you from using Cursor
Yes - Cursor is unusable