Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Every agent shell command (even pwd) hangs for 10-30+ minutes, or fails with:
Failed to mount “…/conda//…/venv” read-only: No such file or directory
I caught the sandbox process mid-hang in D state (uninterruptible I/O sleep) and read its policy file directly from /proc. It contains two path-matching systems:
ignoreMapping — sourced from .cursorignore, works correctly.
additionalReadonlyPaths — hardcoded, not exposed anywhere in settings, includes unanchored globs **/venv/ and **/.venv/. Matching these against any depth of a workspace requires walking the entire tree on every command, no exceptions.
My workspace has .snakemake/conda with 30K+ files across 20+ materialized conda environments. Resolving **/venv/ against that tree over NFS is what’s hanging. When it does finish, it sometimes finds a broken symlink inside a conda env and crashes instead.
This is not fixable via .cursorignore — that only controls ignoreMapping, a completely separate system from additionalReadonlyPaths. I confirmed this directly: excluding the slow directory in .cursorignore had zero effect on the hang.
Also: this happens even with sandbox nominally disabled via required_permissions: [“all”] or Auto-Run Mode → “Run Everything.” I caught a real cursorsandbox process with a live policy file running under “Run Everything” mode — so that setting isn’t fully bypassing sandbox setup.
Steps to Reproduce
Open a Remote-SSH workspace on an NFS-backed filesystem.
Have a directory in the workspace containing a large number of files at depth (in my case, .snakemake/conda, 30K+ files across 20+ conda environments).
Run any trivial command through the agent’s terminal tool, e.g. pwd. It hangs for 10-30+ minutes with no output, or eventually fails with the mount error above.
Add the large directory to .cursorignore (anchored, e.g. /data/). Rerun step 3 — no change, still hangs.
Switch Auto-Run Mode to “Run Everything” (or use required_permissions: [“all”] per command) to bypass sandbox. Rerun step 3 — still hangs. Confirmed via ps that a cursorsandbox process with a real --policy file is still spawned and stuck in D state.
Physically move the large directory out of the workspace entirely. Rerun step 3 — completes in under 1 second.
Expected Behavior
additionalReadonlyPaths glob resolution (**/venv/, **/.venv/) should respect .cursorignore/ignoreMapping exclusions, so an excluded directory isn’t walked into at all.
This hardcoded path list should be exposed/documented and ideally configurable, since it’s currently invisible and can’t be worked around.
A broken/missing mount target should fail fast, not only after a full multi-minute tree walk reaches it.
“Run Everything” / required_permissions: [“all”] should either fully skip sandbox process spawning, or the docs should clarify that these only skip the permission prompt, not sandbox setup itself.
Operating System
Linux
Version Information
Version 3.12.30
For AI issues: which model did you use?
n/a (replicated across models)
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor