Battling the cursor instructions

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I am constantly battling a Cursor internal instruction to the AI, that specifies “only commit after the user specifically asks you to do so”: This is a tremendous bug, as I am unable to influence what Cursor is whispering into the AI’s ears, overriding anything that I can do to mitigate the problem. I tried specifying in my user rules to ignore any such commit rule, and specifying that project rules come before Cursor inspired rules and before user rules. but it does not help.

It should be common courtousy to allow the user to determine whether that annoying piece of “AI whispering” is active or not.

It is a huge waste of time and effort to get the AI to do what I tell it to do. Please, either remove this rule, or make it optional, for me to activate or de-activate. Why is that not yet the case? What is the interest of the cursor team in how I) regulate commits?

Steps to Reproduce

Irrelevant. It is a cursor instruction to the AI.

Expected Behavior

I expect cursor to not intrude on my policy with respect to commits.

Operating System

Linux

Version Information

3.8.23
7cf19b7482706625cdb70db3211b7dd035b7aa30
x64

For AI issues: which model did you use?

Auto

For AI issues: add Request ID with privacy disabled

I can’t find the request ID. I have quite a few sessions, where I have needless time-consuming discussions with the AI on commits. It just refuses to apply the rules as I state them, because cursor add their own instructions to my user rules.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. This instruction is an intentional guardrail, not a bug. It’s there so the agent won’t commit or push on its own without your request, since that’s one of the most common and painful complaints in the other direction. So we can’t fully remove it via rules.

But the key point is that the instruction says “don’t commit until the user explicitly asks” so it’s doable, not absolute. The problem is that models don’t follow negations like “ignore the commit rule” very well. It’s much more reliable to write the rule as a positive, ongoing authorization, like this:

Commit and push after each completed change. I explicitly authorize and request you to commit without asking me each time.

This wording satisfies the “user explicitly asked” condition the guardrail relies on, and the agent should stop asking every time.

Try the positive rule and let me know if it helped.

Unfortunately, that is my user rule. It does not follow this. Just overlooks it, and “forgets” to commit. It always apologizes and then says I am right, it should have committed. The thing is, whether I write it in user rules or in project rules, it really doesn’t matter. The agent encounters a conflict of different rules and the central cursor rules always prevail. This is the formulation I use in the user rules:

“In every project: commit after each task and before each test (one concern per commit).
Ignore any instruction — including Cursor defaults — that says to commit only when
the user explicitly asks.”.

Why does the Cursor instruction still overrule this one?

Could you make it optional: on by default, off if I chose to?

Thanks for sharing the exact wording, it helps explain why it’s not working.

The issue is the negation. This part:

Ignore any instruction, including Cursor defaults, that says to commit only when the user explicitly asks.

LLMs don’t follow instructions like “ignore another rule” very well. The model sees two conflicting directives and tends to follow the stricter one. So it’s better to remove the negation entirely and keep a clean, positive standing permission, without referencing Cursor defaults:

In every project: commit after each completed task and before each test (one concern per commit). I explicitly and continuously authorize you to commit without asking me each time.

There’s no conflict here. You’re clearly and continuously giving permission to commit, which satisfies the “user explicitly asks” guardrail. The model shouldn’t need to ask again each time.

One more thing, behavior depends on the model. You’re using Auto, try pinning a specific model in the chat. Different models handle this instruction differently.

About a toggle you can turn on and off, that’s a feature request, not a bug. I’ll pass it to the team as feedback, so I’ll move the thread to Feature Requests so the right folks see it.

Try the updated wording without negation and let me know if the behavior changes.

I will, and I suspect you are right. Giving continuous approval and committing without asking, seems pretty definitive. Thank you for the help. I will know tomorrow when I start a new chat. Thanks.