Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
There is a severe architectural flaw in how the anysphere.remote-wsl extension handles backend processes compared to the official Microsoft VS Code WSL extension.
Even when a project is strictly located within the native Linux filesystem (/home/user/code/...), Cursor fails to spawn native Linux binaries for its core background services. Instead, it relies on WSL Interop to execute Node, Codex, and File-Service binaries located on the Windows host (/mnt/c/Users/user/AppData/Local/Programs/cursor/...).
This triggers thousands of cross-OS file system calls via the slow 9P network bridge. The immediate result is continuous 100% SSD disk usage on the Windows host, extreme system stuttering, and Windows repeatedly throwing the warning: “E/A-intensive operation like git on Windows drives causes poor performance.”
Steps to Reproduce
- Open a purely native Linux project (e.g.,
~/code/myproject) in Cursor via the WSL connection. - Ensure the project is isolated from Windows (no symlinks to
C:\, global Git configs and NPM caches all set to Linux paths). - Wait for the
file-serv(Codebase Indexer) andcodexto start running in the background. - Run the following command in the WSL terminal to monitor cross-OS file access:
lsof 2>/dev/null | grep /mnt/c/
Expected Behavior
Running code . correctly starts a native Linux server (~/.vscode-server). Running lsof 2>/dev/null | grep /mnt/c/ returns empty. The extension operates entirely within the native Linux ext4 filesystem with zero Windows SSD thrashing.
Operating System
Windows 10/11
Version Information
- OS: Windows 11 with WSL2 (Ubuntu)
- Hardware: 32GB RAM (SSD usage spiking to 100%)
- Cursor Version: Latest
- Extension:
@id:anysphere.remote-wsl
Additional Information
Actual Behavior:
Running cursor . (or connecting via the Windows GUI) spawns dozens of Node processes, codex, and file-serv that anchor to the Windows directory.
Here is the exact lsof output proving that Cursor is dragging the Linux workspace across the mnt/c bridge:
lsof 2>/dev/null | grep /mnt/c/
node 282 user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
node 282 319 node user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
node 496 user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
codex 2505422 user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
codex 2505422 2505441 tokio-run user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
codex 2505422 2505524 sqlx-sqli user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
node 2505195 2505412 file-serv user cwd DIR 0,67 4096 2533274790642370 /mnt/c/Users/user/AppData/Local/Programs/cursor
# ... (dozens of similar processes omitted for brevity)
Impact:
This essentially breaks the development experience for WSL users with larger codebases. The constant indexing and AI-context reading across the 9P protocol makes the entire host OS unresponsive.
Request:
Please modify the anysphere.remote-wsl extension to strictly deploy and utilize native Linux binaries (~/.cursor-server/) for node, file-serv, and codex when connected to a WSL instance, matching the architectural standard set by Microsoft’s VS Code extension.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor