# Cursor just ignores rules

**URL:** <https://forum.cursor.com/t/cursor-just-ignores-rules/69188>\
**Category:** Help\
**Created:** [March 24, 2025, 3:16pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188 "2025-03-24T15:16:25Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jasenf](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/jasenf/32/40109_2.png) [@jasenf](https://forum.cursor.com/u/jasenf)\
**Post date:** [March 24, 2025, 3:16pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/1 "2025-03-24T15:16:25Z")

</div>

This has got to be the most frustrating part of Cursor:

 ![image](https://us1.discourse-cdn.com/cursor1/original/3X/d/8/d834e50244fd8a9fe183e8c7ac5e9a25a83ca8e1.jpeg)

If we can’t trust it to use our rules how can we rely on any output?

Is there some trick I can implement to make this more reliable?

---

<div class="post-metadata">

**Author:** ![RoadkillRon](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/roadkillron/32/35086_2.png) [@RoadkillRon](https://forum.cursor.com/u/RoadkillRon)\
**Post date:** [March 24, 2025, 8:52pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/2 "2025-03-24T20:52:49Z")

</div>

No trick that I have found, in fact what I have found is it consistently uses the greeting in my rules and ignores the rest. Seems like it’s part of the smoke and mirrors game it plays to make you think its using the rules. I can confirm, it doesn’t use 90+% of them on a consistent basis. I have reminded it about the rules and a message or two later it does the same thing. I don’t even remind it anymore, it just wastes time and tokens.

As far as you being right, it’s been my experience your always right. This thing will absolutely lie to you and hide things from you. I tried telling it to stop developing simulations in my code several times in one conversation and it agreed, said it wouldn’t do it anymore, tried to sneak it in by using different terminology until it just stopped mentioning anything about it and did it anyway.

---

<div class="post-metadata">

**Author:** ![Sceleratis](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/sceleratis/32/10287_2.png) [@Sceleratis](https://forum.cursor.com/u/Sceleratis)\
**Post date:** [March 24, 2025, 9:04pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/3 "2025-03-24T21:04:15Z")

</div>

I’ve also noticed this happening a lot. It seems most of the time lately the models totally ignore any rules I’ve set for the project or globally. Occasionally I’ve noticed “Auto” will select a model that actually obeys the provided rules (pretty sure it’s selecting GPT4o) but otherwise it seems like the rules are just getting lost in the sauce.

I don’t know if this is purely something that is the fault of the model itself/model creator (like Anthropic, which would likely be outside of the Cursor team’s control) or if it has something to do with the system prompt.

Asking the model to tell me what rules it knows about always produces the correct set of rules, but a lot of them (especially Claude 3.5 and 3.7 it seems) tend to totally ignore the rules and if I question the model about it, it usually states that it sees the rules and should have followed them similar to the response in the screenshot.

---

<div class="post-metadata">

**Author:** ![bmadcode](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/bmadcode/32/23874_2.png) [@bmadcode](https://forum.cursor.com/u/bmadcode)\
**Post date:** [March 25, 2025, 10:57am UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/5 "2025-03-25T10:57:54Z")

</div>

I have found a few things (as of cursor 0.47) with sonnet 3.5 and 3.7:

- Agent Select Rules have a pretty good hit rate of getting picked up, but require tuning of the description to really make it effective and more consistent.
- Auto Select rule - these are still hit or miss for some reason - I would say get picked up properly about 75% of the time, and usually its when a file already exists. I have found that this comes down to the wording of the prompt sometimes (it seems). Sometimes its hard to tell what works with confirmation bias and trial and error - but for example, if I have a glob pattern of .ts and mention ‘update this typescript file to do xyz’ there is probably 95% chance it will get picked up it seems. Not sure if it should require thing, but just something I have noticed in the way it is currently behaving.
- It seems that it might help also adding a description to auto select rules (so glob pattern + description) - but I have not tested this enough to know if its really making a difference - but _IT SEEMS_ that this makes it also work with when its creating a net new file matching the given pattern.
- Manual Rules - I love these for creating macros or as a replacement for notepads - so in a chat I can just @ them in and know for sure they will be applied.
- Always rules - I only have a few of these, and they are very small, in my current larger project, and are included 100% of the time no issue - ensure description and globs are blank and the boolean value set to true.  
BUT: in another project where I have too many large ALWAYS rules, I do notice it will be inconsistent in their application.

At the end of the day I think this comes down to the nondeterministic nature of LLMs and even though all the rules are getting added to the context, its still up to the model to keep all of them straight and know how to apply them.

Would be good if someone from the cursor team could confirm all of this - but that is what I think is happening - and maybe over time it will get more consistant - but overall with the break down of the 4 rule types, I have found it to be drastically better than when it was a single root project file.

Going back to when it was 1 giant root file - that was always being loaded into every context, and even then it would not always remember to use ever rule from the file when it got large always.

Put together a [video](https://www.youtube.com/watch?v=vjyAba8-QA8) also breaking all of this down in more detail as mentioned in another thread.

---

<div class="post-metadata">

**Author:** ![PhilHannent](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/philhannent/32/37281_2.png) [@PhilHannent](https://forum.cursor.com/u/PhilHannent)\
**Post date:** [March 25, 2025, 1:55pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/6 "2025-03-25T13:55:24Z")

</div>

Someone I know, attempted to jailbreak the system rules which Cursor pass in alongside our rules. I don’t know how accurate it was, there was things about it being concise and reducing tokens. But interestingly, it did also give it leeway to not always follow the request to the letter. I assume this is to help prevent invalid loops in thinking.

I’d like more visibility on the prompt that Cursor are using, or people to experiment with telling it to ignore everything it was told previously. 😃

---

<div class="post-metadata">

**Author:** ![bmadcode](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/bmadcode/32/23874_2.png) [@bmadcode](https://forum.cursor.com/u/bmadcode)\
**Post date:** [March 26, 2025, 12:24am UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/7 "2025-03-26T00:24:22Z")

</div>

I was thinking about that today also - there is something with cursor where even when it picks up the rule file, sometimes the LLM seems to randomly choose from within the same file some rules to follow and some not. Of course everything with the LLM is nondeterministic - but sometimes what it decides to skip has me really wondering why - and has me leaning towards either the prompt cursor is using with the rules as you suggest, or maybe its doing some reduction or summarization of the rules before passing them on… as its a black box once it leave our ide, its hard to tell…

---

<div class="post-metadata">

**Author:** ![its-tim-lee](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/its-tim-lee/32/45359_2.png) [@its-tim-lee](https://forum.cursor.com/u/its-tim-lee)\
**Post date:** [April 8, 2025, 3:44pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/8 "2025-04-08T15:44:37Z")

</div>

may relate to #[Please make "thinking toggle" visible](https://forum.cursor.com/t/please-make-thinking-toggle-visible/76708)

---

<div class="post-metadata">

**Author:** ![joshwand](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/joshwand/32/28577_2.png) [@joshwand](https://forum.cursor.com/u/joshwand)\
**Post date:** [April 28, 2025, 8:41pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/9 "2025-04-28T20:41:59Z")

</div>

I have determined through trial-and-error (and asking models about the contents of their prompts) that there is a local model deciding which rules are important enough to include.

Having “Always” selected is not enough, if you have more than one “Always” rule.

**Once I added “very-important” or “must-be-included” to the FILENAME (!), then all are reliably included.**

As for rule-following, that’s a different story, and depends on the model, how your rules are written, the total context size, etc.

---

<div class="post-metadata">

**Author:** ![JR-codes](https://avatars.discourse-cdn.com/v4/letter/j/eada6e/32.png) [@JR-codes](https://forum.cursor.com/u/JR-codes)\
**Post date:** [April 28, 2025, 11:22pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/10 "2025-04-28T23:22:01Z")

</div>

You really should have a bunch of .mdc files and tag which ever ones are needed. Until the day comes when we can have a 100x the context window, we will have to continue to tag each rule and make double check the agents work

---

<div class="post-metadata">

**Author:** ![ayampols](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/ayampols/32/31208_2.png) [@ayampols](https://forum.cursor.com/u/ayampols)\
**Post date:** [May 28, 2025, 8:20pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/11 "2025-05-28T20:20:54Z")

</div>

Cursor consistently, reliably, ignores rules, even when there is just a single .mdc file set to apply to “All requests”. For example, a straightforward instruction to use a specific conda environment, and never use the the system python, is arbitrarily ignored. It is a daily challenge.

---

<div class="post-metadata">

**Author:** ![Burnett](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/burnett/32/29735_2.png) [@Burnett](https://forum.cursor.com/u/Burnett)\
**Post date:** [May 28, 2025, 8:24pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/12 "2025-05-28T20:24:24Z")

</div>

Check out this post:

> [@Ai to Read Docs Vs. Conversation](https://forum.cursor.com/t/ai-to-read-docs-vs-conversation/91524):
>
> Everyday I begin each Cursor session with having Cursor AI read specific documentation I’ve created for the part of the project I am working on. I’ve noticed that when I have Ai read the documentation, it’s sometimes not enough. Try this, have Ai read your documentation, then tell Cursor AI you want to have a conversation. Have a conversation with Ai discussing the piece your going to work on and how it’s going to assist the user with the end goal. Ask Ai what it thinks about your design, and i…

---

<div class="post-metadata">

**Author:** ![Kinland](https://avatars.discourse-cdn.com/v4/letter/k/3be4f8/32.png) [@Kinland](https://forum.cursor.com/u/Kinland)\
**Post date:** [October 31, 2025, 8:10pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/13 "2025-10-31T20:10:01Z")

</div>

I wish Cursor would fix this. The fact it isn’t automatically applying rules is infuriating and potentially leading to a fair amount of wasted time correcting things.

---

<div class="post-metadata">

**Author:** ![Alex\_Campbell](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Alex\_Campbell](https://forum.cursor.com/u/Alex_Campbell)\
**Post date:** [October 31, 2025, 11:53pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/14 "2025-10-31T23:53:38Z")

</div>

I have a rule that Cursor should not create markdown files unless specifically asked for them. It ignores that constantly.

We should not be charged for tokens when (especially) Sonnet 4.5 ignores instructions and wastes a huge number of tokens generating pointless markdown files.

---

<div class="post-metadata">

**Author:** ![Kinland](https://avatars.discourse-cdn.com/v4/letter/k/3be4f8/32.png) [@Kinland](https://forum.cursor.com/u/Kinland)\
**Post date:** [November 3, 2025, 4:31pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/15 "2025-11-03T16:31:42Z")

</div>

I opened a bug about this - suggest it might be good for other people to chime in there, as I imagine the bug report is going to get more visibility from Cursor than a discussion thread

> [@Cursor ignores project rules](https://forum.cursor.com/t/cursor-ignores-project-rules/140303):
>
> Where does the bug appear (feature/product)? Cursor IDE Describe the Bug Per the documentation: “Large language models don’t retain memory between completions. Rules provide persistent, reusable context at the prompt level.” This sounds like a great way to get around one of the pitfalls of Cursor and LLMs, but when I created a project rule, Cursor ignored it. I know it ignored it, because I asked the agent and it said “I haven’t been following the rules. Apologies.” Then it said it would read…

---

<div class="post-metadata">

**Author:** ![Igor\_Markelov](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/igor_markelov/32/69882_2.png) [@Igor\_Markelov](https://forum.cursor.com/u/Igor_Markelov)\
**Post date:** [November 7, 2025, 7:59am UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/16 "2025-11-07T07:59:24Z")

</div>

I’ve noticed an issue with my Cursor rules not being followed properly. The rules include specific steps like asking clarifying questions - for example, when building a PRD, certain sections explicitly require these questions. However, in the new Cursor version, this isn’t happening regardless of whether I add the rules manually or let them be included intelligently. I can see in the Thinking section that it parses the rules, but the output quality suffers - the PRDs are poor quality. Since this is happening with the PRD workflow, I suspect other rules might not be followed correctly either.

---

<div class="post-metadata">

**Author:** ![Alex\_Campbell](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Alex\_Campbell](https://forum.cursor.com/u/Alex_Campbell)\
**Post date:** [November 13, 2025, 9:45pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/17 "2025-11-13T21:45:48Z")

</div>

> [@Alex\_Campbell](#):
>
> I have a rule that Cursor should not create markdown files unless specifically asked for them. It ignores that constantly.
> 
> We should not be charged for tokens when (especially) Sonnet 4.5 ignores instructions and wastes a huge number of tokens generating pointless markdown files.

Cursor team - do you have anything to say about this?

Sonnet 4.5’s markdown doc writing habit is really infuriating. If we’ve said in the rules that it shouldn’t write docs unless asked, we shouldn’t be charged for the usage when it does. This stupidity probably costs me hundreds of dollars a month.

---

<div class="post-metadata">

**Author:** ![valentinoPereira](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/valentinopereira/32/78806_2.png) [@valentinoPereira](https://forum.cursor.com/u/valentinoPereira)\
**Post date:** [November 14, 2025, 2:19pm UTC](https://forum.cursor.com/t/cursor-just-ignores-rules/69188/18 "2025-11-14T14:19:54Z")

</div>

shouldn’t this be a bug report?
