Disabling follow symlinks is not respected

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor rg tool automatically triggers with --follow on symlinks despite

search.followSymlinks false on remote settings AND

Ignore Symlinks in Cursor Ignore Search set to true, nonetheless cursor trys to run rg with --follow

We have very expensive symlinks to remote folders via nfs, so a symlink follow is a nonstarter and effectively fries the entire machine.

Steps to Reproduce

open any remote-ssh (did not try local) cursor workspace

pgrep -u $USER -a rg

observe invocations with

 /home/aliu/.cursor-server/bin/linux-x64/7d96c2a03bb088ad367615e9da1a3fe20fbbc6a0/node_modules/@vscode/ripgrep/bin/rg --files --hidden --no-require-git --no-config --color=never --follow --iglob */**/.cursor/rules/**/*.mdc --iglob !**/node_modules/** --iglob !**/.git/** --iglob !**/.turbo/** --iglob !**/.next/** --iglob !**/.cache/** --iglob !**/.pnpm/** --iglob !**/.yarn/** --iglob !**/dist/** --iglob !**/build/** --iglob !**/out/** --iglob !**/target/** --iglob !**/.vscode/** --iglob !**/.idea/** --iglob !**/venv/** --iglob !**/__pycache__/** --iglob !**/logs/** --iglob !**/tmp/** --iglob !**/temp/**
1846901 /home/aliu/.cursor-server/bin/linux-x64/7d96c2a03bb088ad367615e9da1a3fe20fbbc6a0/node_modules/@vscode/ripgrep/bin/rg --files --hidden --no-require-git --no-config --color=never --follow --iglob */**/AGENTS.md --iglob */**/CLAUDE.md --iglob */**/CLAUDE.local.md --iglob !**/node_modules/** --iglob !**/.git/** --iglob !**/.turbo/** --iglob !**/.next/** --iglob !**/.cache/** --iglob !**/.pnpm/** --iglob !**/.yarn/** --iglob !**/dist/** --iglob !**/build/** --iglob !**/out/** --iglob !**/target/** --iglob !**/.vscode/** --iglob !**/.idea/** --iglob !**/venv/** --iglob !**/__pycache__/** --iglob !**/logs/** --iglob !**/tmp/** --iglob !**/temp/**
1847528 /home/aliu/.cursor-server/bin/linux-x64/7d96c2a03bb088ad367615e9da1a3fe20fbbc6a0/node_modules/@vscode/ripgrep/bin/rg --files --hidden --no-require-git --no-config --color=never --follow --iglob */**/.cursor/rules/**/*.mdc --iglob !**/node_modules/** --iglob !**/.git/** --iglob !**/.turbo/** --iglob !**/.next/** --iglob !**/.cache/** --iglob !**/.pnpm/** --iglob !**/.yarn/** --iglob !**/dist/** --iglob !**/build/** --iglob !**/out/** --iglob !**/target/** --iglob !**/.vscode/** --iglob !**/.idea/** --iglob !**/venv/** --iglob !**/__pycache__/** --iglob !**/logs/** --iglob !**/tmp/** --iglob !**/temp/**
1847544 /home/aliu/.cursor-server/bin/linux-x64/7d96c2a03bb088ad367615e9da1a3fe20fbbc6a0/node_modules/@vscode/ripgrep/bin/rg --files --hidden --no-require-git --no-config --color=never --follow --iglob */**/AGENTS.md --iglob */**/CLAUDE.md --iglob */**/CLAUDE.local.md --iglob !**/node_modules/** --iglob !**/.git/** --iglob !**/.turbo/** --iglob !**/.next/** --iglob !**/.cache/** --iglob !**/.pnpm/** --iglob !**/.yarn/** --iglob !**/dist/** --iglob !**/build/** --iglob !**/out/** --iglob !**/target/** --iglob !**/.vscode/** --iglob !**/.idea/** --iglob !**/venv/** --iglob !**/__pycache__/** --iglob !**/logs/** --iglob !**/tmp/** --iglob !**/temp/**

Expected Behavior

I expect cursor to rg without --follow if rg is the necessary tool.

Operating System

Linux

Version Information

Version: 2.5.26
VSCode Version: 1.105.1
Commit: 7d96c2a03bb088ad367615e9da1a3fe20fbbc6a0
Date: 2026-02-26T04:57:56.825Z
Build Type: Stable
Release Track: Default
Electron: 39.4.0
Chromium: 142.0.7444.265
Node.js: 22.22.0
V8: 14.2.231.22-electron.0
OS: Linux x64 6.8.0-100-generic

For AI issues: which model did you use?

N/A

Does this stop you from using Cursor

Yes - Cursor is unusable

This issue Cursor is unusable due to trying to scan ALL file systems

has no current solution. What is the status update? What is the workaround?

Hey, thanks for the detailed report. I can see the issue. Rules discovery really does hardcode --follow in the ripgrep calls, and the search.followSymlinks setting doesn’t affect it.

I shared this with the team, along with the details from your report.

As a workaround for now, you can use a wrapper around the rg binary on the remote machine. A user in a similar thread suggested this approach:

#!/bin/bash
DIR=$(find ~/.cursor-server/ -name "rg" -type f | xargs dirname)
mv "$DIR/rg" "$DIR/rg.orig"

cat > "$DIR/rg" <<'EOF'
#!/bin/bash
# Strip --follow from arguments
args=()
for arg in "$@"; do
  [[ "$arg" != "--follow" ]] && args+=("$arg")
done
exec "$(dirname "$0")/rg.orig" "${args[@]}"
EOF

chmod +x "$DIR/rg"

After that, restart cursor-server (pkill -f '\.cursor-server/.*node') and reconnect.

Downside is that after a Cursor update, the binary will get overwritten and you’ll need to redo this. But for now, this is the only way to work around the issue.

Let me know if it helps.

:face_with_spiral_eyes: got it, will appreciate prioritization from your team on a long-term solution to this, as many companies use remote dev-servers in conjunction with NFS hpc clusters and this is a blocker to widespread cursor adoption.

Thanks!