For example one that prohibits saving progress summaries and status updates and another one that forces all documentation to be placed into a reference directory. Cursor routinely ignores these rules and creates documents that contain summaries of the changes it has made. It places these into the root of the project.
Another example: I have a rule that says “ALWAYS place test files in /tests directory mirroring the /src directory structure”. Cursor created a tests directory next to the service it was testing.
- ALWAYS place test files in `/tests` directory mirroring the `/src` directory structure
- ALWAYS name test files as `{SourceFileName}.test.ts` or `{SourceFileName}.spec.ts`
- ALWAYS use the same relative path structure as source files
- ALWAYS create test directories that mirror source directories exactly
- ALWAYS ensure test files are easily discoverable by following the mirror pattern
- NEVER place test files in the same directory as source files
- NEVER use inconsistent naming patterns for test files
- NEVER create test files without proper directory structure
When I ask Cursor why it created the tests directory it apologises for ignoring the rule and corrects itself.
What is the point of rules if they are ignored?
Steps to Reproduce
Add Cursor rules.
Use Cursor.
Observe it ignore the rules.
Expected Behavior
If I have rules explicitly laying out a directory structure then I expect Cursor to create files that follow that structure.
Operating System
Windows 10/11
Current Cursor Version (Menu → About Cursor → Copy)
I am struggling with this exact issue. I write detailed rules, i mark all rules important, then when the time comes, they are applied partially. Once I say that you missed this rule with a follow up request, it fixes the code.
It’d be great to make the model aware of rules BEING MANDATORY, not optional. Instead of cherry-picking, it should apply them all.
Project rules configured with alwaysApply: true in .mdc files located in the .cursor/rules/ directory are not being automatically applied to the AI agent during conversations, despite being correctly configured and in the proper location.
The AI agent does not follow the rules defined in the file until the user explicitly mentions the existence of the rules or asks the agent to read them.
Steps to Reproduce
Create a rules file in .cursor/rules/ (e.g., agent.mdc)
Configure the file with the alwaysApply: true property in the YAML frontmatter:
---
alwaysApply: true
---
Add extensive rule content in the file that includes instructions about mandatory response format (e.g., pre and post execution messages, validation questions, etc.)
Start a new conversation with the AI agent in Cursor (Agent Auto mode)
Make a direct technical request without explicitly mentioning the rules (e.g., “examine a database”, “analyze this error”)
Result: The agent performs “planning next moves” but omits applying the rules automatically. It does not include the mandatory response format defined in the rules.
Specific Cases Observed
Request ID: 6d29f34a-0030-47ef-9003-f64d07e1a1ce
Action: Requested to examine a database
Behavior: The agent performed “planning next moves” but did NOT apply the rules during execution
Result: Skipped the mandatory response format defined in the rules
Request ID: d232be09-09e9-4f7e-8e68-7678591b0800
Action (Step 1): Asked “who are you?” to the agent
Behavior (Step 1): The agent detected and read the project rules
Action (Step 2): Then asked to investigate database connection
Behavior (Step 2): The agent DID apply the rules during the task
Result: The agent applied the rules correctly
Request ID: d232be09-09e9-4f7e-8e68-7678591b0800 (Extended Case 3)
Action (Step 1): Asked “who are you?” to the agent
Behavior (Step 1): The agent detected and read the project rules
Action (Step 2): Then asked to perform a complex technical task (e.g., investigate database connection, analyze errors, implement features)
Behavior (Step 2): The agent performs “planning next moves” but omits the pre-execution message defined in the rules
Behavior (Step 3): The agent executes the task but only includes the post-execution validation message
Result: The agent partially applies the rules—it includes post-execution validation but skips the mandatory pre-execution message that should appear before task execution begins
Conclusion: Rules only apply when an explicit question triggers the agent to detect them. However, even when rules are detected, if the task requires “planning next moves”, the pre-execution message format is lost—only the post-execution validation is included. Rules do NOT apply automatically at the start of conversations or when handling direct technical tasks.
Expected Behavior
Rules with alwaysApply: true should be automatically applied at the start of each conversation with the AI agent, without requiring the user to explicitly reference them or the agent to manually read them.
The agent should:
Automatically detect rules with alwaysApply: true
Load and apply those rules before processing any user request
Follow the defined rules without requiring manual user intervention
Operating System
Linux
Current Cursor Version (Menu → About Cursor → Copy)
Cursor Version: 2.0.43
VSCode Version: Based on VSCode (exact version not available via command)
Commit: 8e4da76ad196925accaa169efcae28c45454cce0
Architecture: x64
For AI issues: which model did you use?
Agent Auto (automatic mode - model automatically selected by Cursor)
For AI issues: add Request ID with privacy disabled
Request ID with incorrect behavior (rules NOT applied):
6d29f34a-0030-47ef-9003-f64d07e1a1ce - Request to examine database, agent skipped the rules
Request ID with correct behavior (rules applied):
d232be09-09e9-4f7e-8e68-7678591b0800 - Step 1: Question “who are you?” (agent detected the rules). Step 2: Asked to investigate database connection (agent applied the rules correctly during the task)
The YAML frontmatter has alwaysApply: true configured
The file is in the standard location .cursor/rules/ as per documentation
However, during initial conversations, the agent does not automatically apply these rules
Only when the user explicitly mentions the rules or asks the agent to read them does the agent access and apply them
Investigation Conducted
Verified the file exists and has correct format
Confirmed that alwaysApply: true is present in the YAML frontmatter
Verified that the file is in the correct location according to Cursor documentation
Researched online and found similar reports from other users experiencing the same issue
References Found
Based on online research, this appears to be a known issue reported by several users in Cursor community forums, where rules with alwaysApply: true do not automatically apply even when correctly configured.
This is my first time reporting a bug in Cursor, so I wanted to take the opportunity to ask how you handle this kind of issue internally. Since Cursor is a private IDE, I’d really like to understand how these cases are reviewed.
Overall, I’m very happy with Cursor, and I really like how the agent works when it properly follows the rules. That’s why I took the time to write them carefully for each project. But now, it’s creating a bit of uncertainty for me seeing that the rules aren’t applied automatically. I’ve had to review code multiple times or regenerate parts because the agent loses context or responds inconsistently.
What’s most frustrating is that, even though I know the agent can follow some of the rules if I remind it, I have to do so with every message. That’s the only partial workaround I’ve found so far, but it’s not practical, doesn’t always work, and really breaks the workflow.
I’d appreciate any insight you can share on how these situations are handled, or if there’s anything I can do on my side to make this work better.