Linux Sandbox: Missing additional read/write paths kill sandbox

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

A path that does not exist in the ~/.cursor/sandbox.json “additionalReadwritePaths” fails sandbox initialization.

Instead of failing, we should probably ignore the path (possibly with a warning).

Error: Failed to resolve Linux sandbox backend: Unsupported sandbox configuration: Linux auto backend selection failed. Landlock error: Unsupported sandbox configuration: Failed to apply Landlock: Step 5/7 (landlock) failed: Failed to apply Landlock: Failed to open path “/example/path”: failed to open “/example/path”: No such file or directory (os error 2). Bubblewrap error: Unsupported sandbox configuration: Unsupported sandbox configuration: Bubblewrap preflight failed with exit code Some(1): bwrap: Can’t find source path /example/path: No such file or directory

Use case: A shared company cursor-setup script that added some dirs to this list for our standard setup started failing people’s sandbox if they didn’t have every dir there. We’ve updated the script to only add if the directory exists. But now they need to re-run if one of those dirs gets added during their workflow at some point.

Steps to Reproduce

Allow-list a path that doesn’t exist and try to run a sandboxed command.

Expected Behavior

Path’s that don’t exist get ignored.

Operating System

Linux

Version Information

Version: 3.17.21
VS Code Extension API: 1.128.0
Commit: 8f2a112cb2845a97b75fd932ea5c470579ca4060
Date: 2026-08-25T01:05:08.089Z
Layout: Agent Window
Build Type: Stable
Release Track: Default
Electron: 40.10.6
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: Linux x64 7.1.8-arch1-3

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report and the clear repro.

You described it correctly. On Linux, every path in additionalReadwritePaths is currently treated as required when the sandbox starts, so a missing path crashes init instead of being skipped. macOS doesn’t have this limitation, so it only shows up on Linux. I passed this to the team as a suggestion to skip missing paths, ideally with a warning.

As a workaround, your existence check in the setup script is the right approach. As an alternative, so you don’t need to rerun the script when a new directory shows up later, you can create the directories up front with mkdir -p instead of filtering. That way every entry is valid right away and will work when the directory is actually needed.

If there’s an update, I’ll reply in the thread.

Thanks for clarifying this is only a Linux issue!

Note, the mkdir -p workaround doens’t work as well as you might initially think in our case because some of the dirs are git clones, and having them already exist would mean updating the scripts that are used for populating them to handle the dirctory already existing. But that would make sense for most things.