Parent .cursorignore above workspace root affect Agent file access regardless of Hierarchical Cursor Ignore setting

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In a setup with a parent `.cursorignore` and a nested folder opened as a separate workspace, Agent file tools can return `Read permission denied` for files in the opened workspace even when `Hierarchical Cursor Ignore` is OFF.

Steps to Reproduce

1. In a parent folder, create a `.cursorignore` containing `*/` (ignore all immediate subfolders). Then open one of those subfolders as a separate Cursor workspace.

2. Turn `Hierarchical Cursor Ignore` OFF and restart Cursor.

3. Ask Agent to read/create/delete a file in that opened subfolder workspace (for example `AGENTS.md`) and observe `Read permission denied`.

Expected Behavior

If parent ignore rules are applied via `Hierarchical Cursor Ignore`, behavior should be clearly scoped and predictable for Agent file tools in nested workspaces.

Agent file-tool behavior should match documented ignore semantics without ambiguity.

Operating System

Windows 10/11

Version Information

Version: 3.3.30 (system setup)
VSCode Version: 1.105.1
Commit: 3dc559280adc5f931ade8e25c7b85393842acf30
Date: 2026-05-09T18:28:42.332Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

Additional Information

- When `Hierarchical Cursor Ignore` is ON, the file tree correctly marks files as ignored, so UI indication appears correct.

- Related discussion: .gitignore above workspace root is ignored

- In similar tests, shell operations on the same paths can still succeed while Agent file tools fail with permission-denied errors.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. The repro steps and behavior description really helped.

I can confirm the bug: the .cursorignore check for Agent file tools goes through two layers, and the lower layer always loads the parent hierarchy, ignoring the Hierarchical Cursor Ignore setting. So toggling it has no effect on Read/Write/Delete, even though it correctly affects Explorer decorations. The fact that shell commands work on the same paths also fits this, since the shell tool checks ignore rules using different logic.

I filed this internally as a bug. I can’t share an ETA for a fix yet. When there’s an update, we’ll post it in this thread.

Temporary workaround: move the parent .cursorignore or narrow the pattern so */ doesn’t match content inside subfolder workspaces. For example, keep ignore rules only in the parent project, and add a separate .cursorignore inside the subfolder with the rules you need.