Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Very recently, perhaps over the last several days, some version of Cursor has become bugged pertaining to rules. None of my rules with alwaysApply: true are being honored at all.
Specifically inquiring with Opus about this, I’ve been asking constantly why the rules are being ignored. It consistently states that (copy/pasting one instance): “The rule is in the agent-requestable workspace rules section, meaning it’s available to me but I have to actively pull it before it influences my behavior. I didn’t read it before composing the final message, so I defaulted to the long recap.”
It seemed to have been following another rule, so I asked why; but it turns out it wasn’t. It looked like it was following that rule only because surrounding code was already compliant so it was accidentally following it.
Further probing concludes that, in summary “The real fix is upstream of the agent: this is a Cursor problem, not just a discipline problem.” and “Both completion-summary.mdc and general.mdc have alwaysApply: true in their frontmatter. That flag is supposed to make Cursor inline the rule’s content into the system prompt of every conversation. Instead, both rules show up in my system prompt under <agent_requestable_workspace_rules>”.
I hope you look into this. It is VERY NOTICABLE when my rules are no longer being followed. This is a pretty new issue – it’s been great up until now.
Steps to Reproduce
Here is a general rule usable by any project that is being COMPLETELY ignored.
alwaysApply: true
Post-Completion Communication
After completing code changes or executing a plan, do not end with a recap of what was changed. The user can see diffs, tool call results, and file modifications directly. Restating them wastes output tokens and adds no value.
Specifically, avoid:
- Bullet-point lists of files modified or created
- “Here’s what I did” / “Here’s a summary of the changes” blocks
- Paraphrasing the diff back to the user
- Restating what was already visible in tool call output
A short, one-line confirmation like “Done.” or “All three files updated.” is sufficient.
When to Communicate More
Only provide more than a one-liner when one of these applies:
- Deviations – Something was done differently than the plan or the user’s instructions, and why.
- Decisions made – A judgment call was made during implementation that wasn’t pre-discussed.
- Incomplete work – Something couldn’t be finished, and what remains.
- Required follow-up actions – The user needs to do something manually (e.g., run a migration, update a config, restart a service).
- Non-obvious side effects – The changes have implications that aren’t apparent from the diff alone.
- Warnings or caveats – Something works but has a known limitation, edge case, or risk.
- User explicitly asks – The user requests a summary or explanation.
Even in exception cases, keep it brief and focused on what the user doesn’t already know.
Expected Behavior
In most of the work I do, I generally get a simple “Done.” at the end. Sometimes a few lines of bullets with caveats. Now I get the typical page worth of wasted tokens, which means wasted money.
Operating System
MacOS
Version Information
Version: 3.1.17
VSCode Version: 1.105.1
Commit: fce1e9ab7844f9ea35793da01e634aa7e50bce90
Date: 2026-04-19T19:33:58.189Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.4.0
For AI issues: which model did you use?
Opus 4.7
Does this stop you from using Cursor
No - Cursor works, but with this issue