top of page

Cursor not following your rules: why project rules are not applied and how to fix them

3 hours ago
9 min read
Cursor not following your rules: why project rules are not applied and how to fix them, Data Studios original cover

Last verified: November 6, 2026


You wrote a rule for Cursor, saved it in your project, and the agent still writes code as if the rule did not exist. In most cases the rule is loading exactly as its settings tell it to, and those settings only let it in at certain moments. Cursor decides whether to include a project rule from three fields at the top of the rule file: a rule set to always apply is sent with every chat, a rule tied to file patterns is added only when the agent reads a matching file, and a rule with only a description is added only if the agent judges it relevant. A rule with none of these is used only when you mention it by name.


The problem affects every plan, because rules are a feature of the editor and of the Cursor CLI rather than of a subscription tier. Reports on the official Cursor forum go back to late 2025 and continue through 2026, across macOS, Windows and Linux. Some are configuration mistakes with a documented fix; others are bugs that Cursor's forum team has acknowledged, such as rules shipped inside plugins that ignore their file patterns. The latest IDE release listed in Cursor's release notes at the time of this check was version 3.27, dated October 22, 2026.


··········


HOW CURSOR DECIDES WHEN A RULE LOADS.


Cursor's documentation describes four kinds of rules. Project Rules live in the .cursor/rules folder of the repository and can be organized in subfolders. User Rules are global and are set in the app under Customize, then Rules. Team Rules are managed by admins in the Cursor dashboard on Team and Enterprise plans. AGENTS.md is a plain markdown file in the project root or in subdirectories, with no settings at all. When the same instruction appears in more than one place, the documented order of precedence is Team, then Project, then User.


A project rule is a file with the .mdc extension. Its first lines are a short settings block (frontmatter) with three fields, and the combination of those fields sets the rule type shown in the Rules screen.


........


Frontmatter in the .mdc file

Rule type in Cursor

When the rule enters the agent's context

alwaysApply: true

Always Apply

Every chat session

globs set, alwaysApply: false

Apply to Specific Files

When a file matching the pattern is in context

Only description, alwaysApply: false

Apply Intelligently

When the agent decides the description is relevant

No description, no globs, alwaysApply: false

Apply Manually

Only when @-mentioned in chat, for example @my-rule


........


The documentation also sets two limits that explain many complaints. Rules do not affect Cursor Tab, the autocomplete feature, or other AI features of the editor, so a rule about naming conventions will never change a Tab suggestion. Files that a rule mentions by path are not pasted into the rule: the agent reads them with its tools when it thinks it needs them, so anything that must always be present belongs in the rule body itself.


··········


CURSOR RULES NOT APPLIED: CAUSES, CHECKS AND FIXES.


The table collects the causes that appear in Cursor's documentation, in replies from Cursor's forum team and in repeated user reports. The checks are listed in the order that finds the problem fastest.


........


Cause

How to check

Fix

Rule type does not load it now

Open the rule in Customize, Rules and read its type

Set Always Apply for rules that must hold everywhere

Glob rule waiting for a file read

The agent has not opened a matching file yet

Ask the agent to read or edit a matching file, or @-mention the rule

Glob pattern written in a format Cursor does not parse

Brackets or quotes around patterns in globs

Write patterns as in the docs, separated by commas

Description too vague or wrong

The description names a different folder or stack

Describe exactly which files and stack the rule covers

File is not an .mdc rule

Plain .md file or old RULE.md folder in .cursor/rules

Recreate it with Add Rule so Cursor writes the .mdc file

Legacy .cursorrules file

A .cursorrules file in the project root

Move the content to an Always Apply rule in .cursor/rules

Global rules folder in the home directory

Rules saved in ~/.cursor/rules

Put global instructions in User Rules instead

Rule shipped by a plugin with globs

Rule is listed under the plugin but never applies

Acknowledged bug: use alwaysApply: true for now


........


··········


STEP-BY-STEP FIXES FOR EACH CURSOR RULE PROBLEM.


Check the rule type first. Cursor's own FAQ answers the question of why a rule is not applied with a single instruction: check the rule type. Open Customize in the sidebar and go to Rules, where the documentation says you can see every rule and its status.


1. Find the rule in the list and read the type next to it.


2. If it says Apply Manually, the rule has no description, no pattern and no always-apply flag, and it will load only when you type its name after @ in the chat.


3. If the rule must govern every answer (coding standards, forbidden libraries, response format), set it to Always Apply.


4. Start a new chat after the change. One user who confirmed a fix on the forum in April 2026 reported that rules created in the middle of a conversation did not apply until a new chat was opened.


Understand when a file-pattern rule fires. In April 2026 a Cursor team member explained on the official forum that file-pattern rules activate when the agent reads a matching file in agent mode, and the rule is added for that step. Having the file open in an editor tab does not trigger it. A rule scoped to .tsx files therefore stays silent at the start of a chat about React components until the agent actually opens one of those files.


1. If you need the rule from the first message, @-mention it in your request or attach a matching file with @.


2. If the rule describes how to create new files that do not exist yet, a file-pattern rule may never fire, because there is nothing to read; give it Always Apply or a precise description instead.


3. Keep in mind that the indicator of active rules in the chat has been reported as incomplete: in December 2025 Cursor's forum team called the missing conditional rules a separate interface bug. A rule absent from the indicator may still have been used.


Write the glob pattern the way the documentation shows it. The documentation gives a single pattern as a plain value and says multiple patterns are separated with commas. In the April 2026 thread, the Cursor team member said that patterns written with JSON-style brackets and quotes were not parsed, so they never matched, and the user confirmed that removing the quotes fixed the rule. Other users have reported different results with YAML lists, so the safest choice is the documented format. The block below follows the field names and pattern examples in Cursor's documentation; the description text is illustrative.


---
description: Standards for React components in src/components
globs: src/components/**/*.tsx
alwaysApply: false
---

For more than one pattern, the documentation's own example is a comma-separated line:


globs: docs/**/*.md, docs/**/*.mdx

Make the description specific. An Apply Intelligently rule depends on the model's judgement. In a January 2026 monorepo thread, a Cursor forum reply traced an ignored rule to a description that named "admin-frontend" while the code lived in apps/backend, so the agent concluded the rule did not apply. Name the folder, framework and task in the description. Reports from late 2025 also show that different models follow conditional rules differently, so a rule that works with one model can be skipped by another.


Convert old formats. Three older formats cause silent failures:


1. Plain .md files in .cursor/rules. The current documentation says they are ignored because they have no frontmatter. Rename them to .mdc and add the settings block, or create the rule again with Add Rule.


2. RULE.md folders. In December 2025 Cursor's documentation described rules as folders containing a RULE.md file, and many users reported on the forum through January 2026 that this format was never recognized while flat .mdc files worked. The documentation now describes .mdc files, so use that format.


3. The .cursorrules file. A Cursor forum reply in March 2026 quoted the documentation calling the root .cursorrules file legacy and due for deprecation, and recommended moving its content into a new rule set to Always Apply, then deleting the old file. Older .mdc files left in .cursor/rules can also take precedence over it where the two overlap.


Use User Rules for instructions that cover every project. A folder of rules in your home directory is not read as global rules. A Cursor forum reply in November 2025 said that using ~/.cursor/rules for all projects is not supported and that global instructions belong in User Rules, which are plain text and always active.


··········


CURSOR RULES ON WINDOWS, MACOS, LINUX AND THE CLI.


Most rule behavior is identical across operating systems, but the release notes and the CLI documentation record a few differences.


........


Environment

What applies

Note from Cursor's notes or docs

Windows

Project rules and nested AGENTS.md

Version 3.26 (October 20, 2026) fixed rules and nested AGENTS.md with differently cased drive letters

macOS and Linux

Same rule system

No platform-specific rule fix in the 2026 release notes

Cursor CLI

.cursor/rules plus AGENTS.md and CLAUDE.md at the root

Same rules system as the editor

Team Rules with patterns

Admin-managed rules

Version 3.21 (September 17, 2026) loads them only when a matching file is read or added to context

Multi-root workspaces

Nested .cursor/rules supported

Patterns reported as unreliable by a Cursor forum reply in January 2026


........


On Windows, if rules stopped loading in some folders and not in others, updating to 3.26 or later is the first step, since that release names the drive-letter case problem directly. The same release stopped duplicating project instructions when CLAUDE.md and AGENTS.md contain the same text, a useful change for repositories shared between Cursor and Claude Code. Our guide to Claude Code project setup with CLAUDE.md, memory files and rules covers the Claude Code side of that arrangement.


··········


WHAT CURSOR DOCUMENTS AND WHAT USERS ONLY REPORT.


The rule types, the frontmatter fields, the comma-separated pattern format, the exclusion of Cursor Tab, the 500-line guidance and the precedence of Team, Project and User rules are all in Cursor's documentation. The activation of file-pattern rules on file reads, the parsing problem with bracketed patterns, the status of .cursorrules and the lack of a global rules folder come from replies by Cursor's team on the official forum.


Two problems are acknowledged bugs without a published fix date. In December 2025 a Cursor forum reply called the inconsistent application of file-pattern and description-based rules a known issue and said a test repository had been passed to engineers. In June 2026 a Cursor team member confirmed that rules distributed inside plugins ignore their file patterns, because the mechanism that lets plugin skills match files outside their folder had not been applied to rules, and filed a bug. A user asked for an update in September 2026 and no answer appears in the thread. Setting such a plugin rule to always apply made it load in the original report.


The claim that rules created mid-chat need a new chat, and the varying results with YAML lists in the pattern field, are user reports. They are useful to test, and they are not documented behavior.


··········


HOW TO KEEP CURSOR RULES WORKING AFTER UPDATES.


Cursor's documentation recommends keeping each rule under 500 lines, splitting large rules, giving concrete examples, referencing files instead of copying them and checking rules into git. A short test rule makes regressions visible: an Always Apply rule that asks the agent to end every reply with a fixed marker shows at a glance whether rules are loading at all after an update. When a file-pattern rule seems dead, ask the agent to read one matching file and see whether its behavior changes before rewriting the rule.


Release notes are where rule fixes appear, as the September and October 2026 entries show, and they are the place to check when a rule that worked last week stops working. For broader context on how Cursor compares with other coding agents, see our comparison of GitHub Copilot and Cursor and the analysis of Cursor Composer 2 against Claude Code. A similar problem with saved instructions in ChatGPT is covered in our page on ChatGPT ignoring instructions in a GPT or Project.


··········


CURSOR RULES NOT APPLIED: WHAT TO CHECK FIRST.


A Cursor rule that seems ignored is most often a rule doing what its frontmatter allows: an Apply Manually rule waiting for an @-mention, a file-pattern rule waiting for the agent to read a matching file, or a description the model judged irrelevant. The fixes with the most support are setting Always Apply for rules that must always hold, writing patterns in the comma-separated format of the documentation, converting .md, RULE.md and .cursorrules files into .mdc rules, and moving global instructions into User Rules. Plugin rules with file patterns remain an acknowledged bug, and on Windows version 3.26 fixed a drive-letter problem that blocked rules in some folders. If none of these applies, starting a new chat and @-mentioning the rule is the most reliable way to confirm that Cursor can read it.


··········


FOLLOW US FOR MORE.


·····


DATA STUDIOS


·····


datastudios.org


bottom of page