Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
On Cursor 2.6.20 over SSH Remote, the Agent gets permanently stuck at “Waiting for extension host” when the workspace directory contains symlinked directories pointing to large filesystems (podman container overlay storage with NFS mount symlinks, or large wit workspaces).
Root cause: Cursor’s internal .cursorignore file search runs ripgrep with --follow, which causes it to traverse deeply nested symlinked directories. The search times out after 30 seconds and the agent never connects.
From the extension host log (exthost/remoteexthost.log):
ExtHostSearch [cursorIgnore] internal fileSearch still running after 30001ms reason=cursorIgnoreCheck roots=1
The ripgrep command being run:
rg --files --hidden --case-sensitive --no-require-git -g ‘**/.cursorignore’ --no-ignore-parent --follow --no-config --no-ignore-global
The --follow flag causes ripgrep to follow symlinks into massive directory trees. It also bypasses .gitignore, .ignore, and .cursorignore exclusion rules for symlinked directories, so users cannot exclude them via ignore files.
The only workaround is adding “search.exclude” to .vscode/settings.json, which causes Cursor to append -g ‘!pattern’ glob arguments that ripgrep does respect.
Note: This is similar to the issue fixed in 2.4 (ripgrep .jj filesystem walk), but the --follow + symlink traversal for cursorIgnore search was NOT fixed. VS Code works fine on the same directory because it does not run this cursorIgnore search.
Steps to Reproduce
- Connect to a Linux host via SSH Remote
- Open a directory that contains a symlink pointing to a large filesystem (e.g., podman-storage with container overlay layers linking to NFS mounts, or a symlink to a 600GB workspace)
- The Agent gets stuck at “Waiting for extension host” indefinitely
- In the logs (~/.cursor-server/data/logs//exthost/remoteexthost.log), you’ll see the cursorIgnore fileSearch timing out after 30 seconds
- VS Code with the same directory works fine
Expected Behavior
The cursorIgnore search should either:
- Not use --follow for symlinks, or
- Respect ignore files (.gitignore/.ignore) for symlinked directories, or
- Have a graceful timeout that doesn’t block the agent from connecting
search.followSymlinks: false setting should be respected for this search.
Operating System
Windows 10/11
Version Information
Version: 2.6.20 (user setup)
VSCode Version: 1.105.1
Commit: b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760
Date: 2026-03-17T01:50:02.404Z
OS: Windows_NT x64 10.0.26200
Remote: RHEL 8 (kernel 4.18.0-553) via SSH
Does this stop you from using Cursor
Yes - Cursor is unusable