When you have a .cursorrules file in your project root and run cursor agent, the file is completely ignored. No warning, no error, no log message. The agent behaves as if the file doesn’t exist.
I ran 9 tests across three file lengths (~20, ~90, ~500 lines) and got 0/9 rule compliance. Switching the exact same rule to a .cursor/rules/test.mdc file with alwaysApply: true gave 9/9 immediately.
The silent failure is the real problem. A lot of people still use .cursorrules because it’s what most tutorials and docs reference first. If agent mode doesn’t support it, there should be a visible warning so people know to migrate.
Steps to Reproduce
Create a .cursorrules file with any rule (e.g. “Always add // GENERATED as the first line of new files”)
Run cursor agent --print with a prompt that should trigger the rule
Check the output - the rule is not followed
Move the same rule to .cursor/rules/test.mdc with alwaysApply: true in the frontmatter
Run the same prompt again - the rule is now followed
Expected Behavior
Either:
The agent loads and follows .cursorrules rules, OR
The agent shows a warning like “.cursorrules is not supported in agent mode. Use .cursor/rules/*.mdc instead.”
thanks for catching this Colin. i re-ran the tests and you’re right that .cursorrules does load in agent mode. the issue in my original testing was that the workspace had .mdc files in .cursor/rules/ from other experiments. when both exist, .mdc takes precedence and .cursorrules gets effectively ignored on anything the .mdc covers. in a clean project with no .mdc files, .cursorrules works fine.
the version i reported (2.4.35) was the IDE version — the CLI version is 2026.02.13-41ac335. my bad on that.
so the actual behavior is: both .cursorrules and .mdc load and apply together, but on any conflicting rules, .mdc wins. the recommendation to use .mdc is still solid since it gives you alwaysApply and glob scoping, but .cursorrules isn’t silently ignored like i originally claimed. i’ll update the article to reflect this.
ran some more tests. .cursorrules works in a fresh directory but fails in my test workspace (which has .cursor/ folders in subdirectories from other experiments). might be a project detection issue? in my workspace, even a simple “respond with PINEAPPLE first” rule gets ignored. CLI version is 2026.02.13-41ac335. happy to share the exact directory structure if that helps debug.