However, when I try to read certain files, I get “Read blocked by cursor ignore” even though they don’t match these patterns:
Files that are blocked:
requirements.txt
src/agents/dqn_agent.py
src/utils/logger.py
src/utils/config.py
src/models/base.py
src/models/ppo.py
src/models/dqn.py
src/models/dynamics_model.py
src/trainer.py
src/gui/renderer.py
.gitignore
Files I can read:
src/agents/ppo_agent.py (read successfully)
.cursorignore (read successfully)
This suggests Cursor may be using additional ignore rules beyond .cursorignore, or there’s a configuration issue. The files exist and are readable via terminal commands, so they aren’t actually ignored by the patterns shown.
Should I check for other ignore configuration files or investigate why these specific files are blocked?
The .cursorignore file is not blocking these files. None of the patterns in .cursorignore match the blocked files.
Findings
.cursorignore patterns are correct — they only block:
Cache files (_pycache_/, *.pyc)
Virtual environments
Test artifacts
Log files
Temporary files
Data files (*.pkl, *.h5)
Pattern of what I can read:
src/agents/ppo_agent.py — currently open in your IDE
src/main.py — recently viewed
src/config/config.yaml — recently viewed
.cursorignore — currently open
src/agents/dqn_agent.py — not recently viewed
src/utils/logger.py — not recently viewed
requirements.txt — not recently viewed
README.md — not recently viewed
Files exist and are readable via terminal — they’re not actually ignored.
Conclusion
Cursor appears to restrict file access via read_file to files that are:
Currently open in the editor
Recently viewed in the IDE
Or part of the active editor context
This is separate from .cursorignore. The files aren’t ignored; they’re just not accessible through the read_file tool unless they’re in the editor’s active context.
Solution
To access these files:
Open them in your IDE (they’ll become readable)
Use terminal commands (which I did to read their contents)
Or ask me to use terminal commands to read specific files
The .cursorignore file is working as expected and is not the cause of the blocking.
Thanks for the additional info. A very important detail is that old Agents (opened before the update) work fine, while new ones have trouble accessing files.
This looks like a regression in initializing new chats in 2.2.x. To help the dev team:
Critical data for investigation:
Help → Toggle Developer Tools → Console - copy all errors (especially when creating a new Agent)
Check Settings → General:
Global Cursor Ignore List (is it empty?)
Hierarchical Cursor Ignore (enabled/disabled?)
The list of installed extensions (especially the GitLens version)
Exact steps to reproduce the write lock (which file, what command to the Agent)
I gave trying an update another go, and Gitlens issue was fixed, but still had the same issue of agents not being able to read or write any files. Keeps saying blocked by .corsorignore even if i delete the file, restart etc.
Why is this marked as resolved? The Gitlens thing was just ONE of the symptoms, not the actual issue.
Having to use an older version isn’t a fix.
After rolling back yesterday, today I am being pushed constantly to upgrade to the latest version. I though, ok maybe there is a big update now? I’ll give it another shot.
Sure enough, after the update, again still the same issue, agents can’t read or edit any files any more. “blocked by .cursorignore” (which they are not.)
It seems to me, every time I upgrade to a version with this…
I used an uninstaller tool to completely clean out all traces of Cursor, including windows registries, reinstalled the latest user version of Cursor. Now everything seems to work normally.
So my advice would be to do a more thorough job getting rid of certain traces when performing updates on user systems. Or do a version migration with updates.
I just checked out Windsurf. It’s still the way Cursor used to be, and why I liked Cursor.
Even this simple thing is gone in Cursor and put in an inconvenient location:
I’m starting to get a bit ticked off how Cursor keeps making the UX worse with every update with stuff no one asked for.
I’m not going to pretend my $200 is going to impact your overall business, but I am seriously starting to consider other options.