Cursor does not read and respect user rules

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Summary

Cursor loads user-level skills, skills-cursor and commands from ~/.cursor/, but silently
ignores ~/.cursor/rules/*.mdc
— including files marked alwaysApply: true. Three of the four
subfolders of Cursor’s own user-config directory are read; the fourth is not.

Steps to Reproduce

Steps to reproduce

  1. Place a .mdc file with alwaysApply: true frontmatter in C:\Users\<user>\.cursor\rules\.
  2. Open a workspace that is not under the home directory (e.g. c:\opt\src\<project>).
  3. Start an agent session and ask the agent to list the rules it received.

Expected Behavior

Expected

The alwaysApply: true user-level rule is present in the agent’s context, consistent with how
user-level skills and commands from the same ~/.cursor/ tree are delivered.

Actual

The rule is absent. The agent receives only workspace .cursor/rules/*.mdc plus the plain-text
User Rules from Settings. No warning, no diagnostic — the folder is skipped silently.

Evidence

Measured in one session, same parent directory:

~/.cursor/ subfolder Items Delivered to agent context
skills 13 yes (listed with full paths)
skills-cursor 25 yes
commands 21 yes (/mycommand resolves)
rules 49 no

In the same workspace, 20 workspace-level rules were delivered. Of the user-level rules, the only
ones that reached context were the 2 that happen to have a duplicate copy in the workspace
folder. The other 28 alwaysApply: true rules were absent.

Why the usual explanation does not fit

The commonly cited mechanism is that rule discovery walks upward from the workspace folder, so it
never reaches the home directory. That cannot explain this:

  • skills, skills-cursor and commands live in the same ~/.cursor/ tree, are equally far
    from the workspace, and load correctly.
  • It is not context-budget truncation: the 20 delivered workspace rules are collectively larger
    than the 28 missing ones, and the split follows the folder boundary exactly.

Impact

  • 30 alwaysApply: true rules are inert with no indication to the user, who reasonably assumes
    the frontmatter means what it says.
  • The folder is a natural place to put rules — it is inside Cursor’s own config directory, it is
    referenced in Cursor’s help center under “Where are rules stored?”, and it is the sibling of
    folders that do load. Users and agents write rules there and never learn they have no effect.
  • Agents silently violate global preferences (in our case output-formatting and confirmation rules)
    with no way to detect the omission.

Operating System

Windows 10/11

Version Information

Version: 3.19.19 (system setup)
VS Code Extension API: 1.128.0
Commit: 6496ea8a068aebfcd21990e70ff522e9abf10c80
Date: 2026-09-08T16:25:33.352Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200

For AI issues: which model did you use?

Claude Opus 5

For AI issues: add Request ID with privacy disabled

RequestId: 7cd7ac29-2aaa-49c6-8b97-ac9bb18c1d02

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @Geir_Helge_Starholm
This is an issue we’re tracking. Three things that work today:

  1. Parent-folder rules - put your .mdc files in a parent of your projects (e.g. c:\opt\src\.cursor\rules\). Rule discovery walks up from the workspace, so those apply to every project under that folder, with full alwaysApply/globs.
  2. Local plugin - create %USERPROFILE%\.cursor\plugins\local\my-rules\ with a .cursor-plugin\plugin.json ({"name": "my-rules"}) and a rules\ folder of your .mdc files, then run Developer: Reload Window. These load regardless of workspace. Docs.
  3. Settings → Rules, Skills, Subagents → User Rules - account-synced plain text, applies everywhere (no frontmatter/globs).

How is the progress?