Title: [Bug] Rules in /rules folder require undocumented .mdc format and special save process
Description
The Cursor documentation suggests that placing files in the /rules folder will automatically make them available as rules. However, there are two undocumented requirements that cause confusion:
Files must use the .mdc extension
Files require a special save process that only works by closing Cursor entirely
Current Behavior
Regular files placed in /rules folder are not recognized as rules
.mdc files cannot be saved through normal save commands
Saving .mdc files requires:
Closing Cursor completely
Responding to āUnsaved Changesā prompt
Selecting āOverrideā option
Reopening Cursor
Expected Behavior
Based on current documentation:
Any properly formatted rule file in /rules should work
If .mdc is required, this should be documented
Saving should work through normal editor commands
If override protection is intended, it should be handled within the editor
Steps to Reproduce
Create /rules folder
Add a rule file (without .mdc extension)
Not recognized as a rule
Change to .mdc extension
Try to save normally
Changes donāt persist
Must close Cursor entirely to trigger override prompt
Workaround Documentation
Weāve documented the current required process in rule_creation_guide.yaml:
rule_file_creation:
correct_process:
steps:
1: āCreate your new .mdc rule fileā
2: āAdd your rule contentā
3: āAttempt to close Cursor completelyā
4: āWait for āUnsaved Changesā override promptā
5: āSelect āOverrideā option in the promptā
6: āAllow Cursor to closeā
7: āReopen Cursor to see changesā
Impact
Users waste time trying to create rules that wonāt work
Potential for lost work if special save process isnāt known
Environment
Editor: Cursor
File Type: Rule files in /rules directory
Action: Rule creation and modification
Additional Context
This was discovered while trying to create a rule system following Cursorās documentation. The workaround process was found through trial and error, but this should either be:
Documented clearly if intended behavior
Fixed to match documented behavior
Made more intuitive with in-editor override handling
Thanks for the detailed report! Iāll make sure this gets added to our docs at Cursor ā Rules for AI to help other users
In the meantime, you can use the command palette (Cmd/Ctrl + Shift + P > New Cursor Rule) which handles all this automatically and is the recommended way to create rules
Hopping in here to say I like getting the Cursor Agent to write + update rules as part of the development process. Currently the workaround is to copy the contents that the agent prepares, then paste them into the rule file in another editor.
Also worth noting that the āRead fileā tool thinks that it sees the contents the agent āappliedā, but often if I run a cat on the file itself, it will only contain a % character.
Indeed there is still a lot of friction when creating rules and lets be honest not every developer wants to play around with an UI that has issues when a direct file editing approach works better. however there are still issues with documentation even for manual editing. happy to elaborate further.
I found a temporary solution for creating MDC rules by instructing the agent to āCreate the files under .cursor/rules as regular markdown files with the complete output, including frontmatterā and it worked.
I then asked it for a command line script to rename *.md files to *.mdc
Pls fix this now my cursor agent cannot even make edits to rules, it always go with āno changes madeā even though it made some changes, and will stuck in a loop of retrying different ways. Really frustrating
Yeah I found this to work for me part of the time. I have started having it populate rules initially in a proposed rules folder then use terminal commands to delet the old rule and move the update via terminal to the correct folder and change them to .mdc this works really well for me. There are a few tools out there on GitHub that kind of do this, but I found that then I just spent too much time working on my rules and not actually projects
This is painful. Iām working to help others adopt Cursor more and Cursor rules and now it seems Cursor rules themselves are broken and we arenāt able to use Cursor to help create or edit Cursor rules.
Work around: tell agent to insert a meta rule: update Cursor rule file by direct manipulation via Terminal editing, avoid using internal Cursor tools. After update, confirm rule file gas been correctly updated by dumping the rule file to terminal and read out out directly
Its kinda hacky (youāll see Agent fail a couple of times, generating new line characters wrong and stuff, but eventually it learns to do it right) not ideal but does the job for now