Rules in subdirectories of .cursor/rules/ not visible in @ mentions or Settings UI

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Project rules (.mdc files) placed in subdirectories of .cursor/rules/ (e.g., .cursor/rules/dev/coding-guidelines.mdc) no longer appear in:
The @ autocomplete menu in chat
The Cursor Settings > Project Rules panel

This used to work previously. The rules still get injected into context at runtime when their globs/alwaysApply conditions match, but they cannot be manually referenced via @.

Steps to Reproduce

Repro:

Create .cursor/rules/subdir/my-rule.mdc with valid frontmatter (description, globs, alwaysApply: false)
Open chat and type @ — the rule does not appear in the autocomplete list
Move the same file to .cursor/rules/my-rule.mdc (no subdirectory) — it appears

Expected Behavior

Rules in subdirectories should be discoverable and @-mentionable, as they were in previous versions.

Operating System

MacOS

Version Information

Version: 2.6.19
VSCode Version: 1.105.1
Commit: 224838f96445be37e3db643a163a817c15b36060
Date: 2026-03-12T04:07:27.435Z
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: Darwin arm64 25.2.0

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

It appears the Cursor is respecting the project gitignore rules. We have the following gitignore rules:

.cursor/*
.cursor/rules/*
!.cursor/rules/public/

and once I modify them to:

.cursor/*
!.cursor/rules/*
!.cursor/rules/public/

the rules are loaded.

We store our rules (and skills, and other agent related configs) in a separate repo and sync them. This breaks our workflow.

Hi Nitzan!

Thanks for the detailed report and for tracking down the root cause yourself. You’re exactly right — Cursor’s file discovery currently respects .gitignore patterns, which means rules in subdirectories of .cursor/rules/ get silently excluded when .gitignore contains patterns like .cursor/rules/*.

This is a known issue that our team is actively working to resolve.

Your workaround of changing .cursor/rules/* to !.cursor/rules/* in .gitignore is correct for now, though I understand it’s not ideal since it changes which files git tracks.

Thanks for your patience while we get this fixed.

Great, LMK when this issue is resolved

Hey @Nitzan_Margalit,
The issue with rules in subdirectories being blocked by .gitignore patterns has been addressed and the fix should be available on the nightly release channel. If you’d like to try it out before it hits stable: open Cursor Settings > About and switch the Release Track to Nightly, then restart Cursor. Let me know if that resolves it!

Hello, I’ve tried the latest nightly release and it was still bugged for me. A workaround that I have discovered is adding a .rgignore file in your root that will negate the .gitignorepath.

So if your .gitignore has this:

.cursor/rules/team/

then in your .rgignore do this:

!.cursor/rules/team

I don’t fully know the implication of all this but I’m glad it worked. This bug sucked two hours of my time.