alwaysApply: true rules AND .cursorrules both silently treated as "requestable" instead of auto-injected — Cursor 3.0.16 macOS

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

After updating to Cursor 3.0.16, ALL .mdc rules with alwaysApply: true in .cursor/rules/ are silently downgraded to “requestable” (Applied Intelligently) instead of being auto-injected into the agent context.

More critically, the legacy .cursorrules file at the project root is ALSO being treated as “requestable” instead of auto-injected. This means there is NO working mechanism to ensure rules are always applied.

In the system prompt received by the agent, all rules appear under <agent_requestable_workspace_rules> instead of being directly injected:

<agent_requestable_workspace_rule fullPath=".../.cursorrules" />
<agent_requestable_workspace_rule fullPath=".../.cursor/rules/memory.mdc" />
<!-- 6 files with alwaysApply: true, none auto-injected -->

This was working correctly before the update. All rules have valid YAML frontmatter (verified: proper --- delimiters, correct key-value pairs).

Steps to Reproduce

  1. Create multiple .mdc rule files in .cursor/rules/ with valid YAML frontmatter:
---
description: "My rule description"
alwaysApply: true
---
Rule content here...
  1. Also create a .cursorrules file at the project root with consolidated rule content (~17KB, 282 lines)
  2. Start a new Agent conversation
  3. Observe: Neither the alwaysApply: true rules NOR the .cursorrules content is injected into the agent context
  4. All 19 rules (including 6 with alwaysApply: true and the .cursorrules file) appear as “requestable” in the system prompt
  5. The agent does NOT follow any of the always-apply rules unless explicitly told to read them via @ reference

Expected Behavior

  1. .mdc files with alwaysApply: true should be automatically injected into every agent conversation context
  2. .cursorrules file should always be auto-injected (this is the legacy mechanism that has always worked)
  3. At minimum, ONE of these mechanisms should work as a reliable fallback

Operating System

MacOS

Version Information

IDE:
Version: 3.0.16
OS: macOS 26.4 (arm64 / Apple Silicon)

Additional Information

Key observations:

  1. This is a regression — rules were auto-injected correctly before the update
  2. The workspace has 19 total .mdc rule files, 6 with alwaysApply: true
  3. The .cursorrules file is 282 lines / ~17KB
  4. According to the troubleshooting guide (forum post #152439), .mdc files override .cursorrules when both exist — but when .mdc’s alwaysApply is broken, this creates an unrecoverable situation where NEITHER mechanism works
  5. Reloading the window does not fix the issue
  6. All .mdc frontmatter has been verified: proper --- delimiters, valid YAML, correct key-value pairs

This is critical for users who rely on alwaysApply rules for memory systems, MCP tool integration, and code quality enforcement.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. This looks like a known issue. There are a few similar reports, including this thread: Project rules not auto-applied / not shown as Active Rules (Cursor 2.6.19, Windows 11), where Colin from our team confirmed similar behavior.

To help us diagnose this on the server side, we need a couple of things:

  1. Request ID. Start a new Agent chat, send any message, then in the top-right of the chat open the context menu and select Copy Request ID. Paste it here.
  2. The full contents of one of the .mdc files with alwaysApply: true, the entire file including the --- delimiters.
  3. Is the project opened via a normal local path, or via a symlink, mount, or network drive?
  4. Are there any nested .cursor/rules/ directories inside project subfolders, not just in the root?

As a workaround for now, you can use an @ mention to include the rules you need in chat. It’s pretty annoying with 19 rules, but it should let you keep working.

The team is aware of this class of issues. Your report helps us prioritize, especially if it reproduces on macOS.

1. Request ID: 64d75803-540d-4241-a472-02164326bc0e

2. Full .mdc file — memory.mdc with alwaysApply: true:

-–

description: 跨对话记忆系统 — DAG 分层记忆架构,自动提取、自动存储、自动召回

globs: [“**/*”]

alwaysApply: true

-–

## :warning: MANDATORY: Memory Recall & Store Protocol (DAG v3)

> **CRITICAL — This rule has the HIGHEST priority. Violating it = broken session.**

### STEP 0: RECALL FIRST (Non-negotiable)

**STOP. Before doing ANYTHING else in a new conversation, you MUST recall memories.**

Every conversation’s FIRST assistant action must be:

```

CallMcpTool: server=user-agent-memory, toolName=recall

arguments: { “topics”: [], “include_recent”: 5, “prefer_summaries”: true }

```

(rest of the file omitted for brevity — 169 lines total)

This rule explicitly requires the AI to call recall as the very first action of every new conversation. With alwaysApply: true, this should be auto-injected. But the AI completely ignored it — just replied “你好!有什么我可以帮你的吗?” without any tool call.

3. Project path: Normal local path /Users/liukai/Documents/影像云工程. Not a symlink, mount, or network drive.

4. Nested .cursor/rules/: No. Only one .cursor/rules/ directory at the project root. No nested .cursor/ directories in any subfolder.

Additional context:

  • Cursor 3.0.16, macOS 15 (darwin 25.4.0), Apple Silicon

  • 6 rules with alwaysApply: trueall shown as “requestable” (Applied Intelligently), none auto-injected

  • Was working before April 9 update to 3.0.16

  • Total size of all 6 alwaysApply: true rules: ~14.6 KB

. Request ID: 64d75803-540d-4241-a472-02164326bc0e

2. Full .mdc file — memory.mdc with alwaysApply: true:

-–

description: 跨对话记忆系统 — DAG 分层记忆架构,自动提取、自动存储、自动召回

globs: [“**/*”]

alwaysApply: true

-–

## :warning: MANDATORY: Memory Recall & Store Protocol (DAG v3)

> **CRITICAL — This rule has the HIGHEST priority. Violating it = broken session.**

### STEP 0: RECALL FIRST (Non-negotiable)

**STOP. Before doing ANYTHING else in a new conversation, you MUST recall memories.**

Every conversation’s FIRST assistant action must be:

```

CallMcpTool: server=user-agent-memory, toolName=recall

arguments: { “topics”: [], “include_recent”: 5, “prefer_summaries”: true }

```

(rest of the file omitted for brevity — 169 lines total)

This rule explicitly requires the AI to call recall as the very first action of every new conversation. With alwaysApply: true, this should be auto-injected. But the AI completely ignored it — just replied “你好!有什么我可以帮你的吗?” without any tool call.

3. Project path: Normal local path /Users/liukai/Documents/影像云工程. Not a symlink, mount, or network drive.

4. Nested .cursor/rules/: No. Only one .cursor/rules/ directory at the project root. No nested .cursor/ directories in any subfolder.

Additional context:

  • Cursor 3.0.16, macOS 15 (darwin 25.4.0), Apple Silicon

  • 6 rules with alwaysApply: trueall shown as “requestable” (Applied Intelligently), none auto-injected

  • Was working before April 9 update to 3.0.16

  • Total size of all 6 alwaysApply: true rules: ~14.6 KB

Hey, thanks, that’s enough info. I took a look.

A couple things I’d like to check to narrow down the cause:

  1. The project path includes CJK characters 影像云工程. We’ve seen a similar class of bugs where path normalization breaks alwaysApply rule classification in some cases. It’s currently documented for Windows UNC, but a Unicode path on macOS is a good candidate too. Can you copy the project to a path without any non ASCII characters, like /Users/liukai/Documents/test-rules/, and see if it still reproduces there? This is the fastest way to confirm the hypothesis.

  2. In memory.mdc you have both alwaysApply: true and globs: ["**/*"]. If alwaysApply: true is set, you don’t need globs. They conflict semantically, and in some versions this can cause the rule to be classified by globs. Try removing the globs line from all 6 rules and reload the window.

  3. Also check Cursor Settings (not VS Code settings) > Rules to see how each rule’s type is shown after the edits. It should be Always with a green dot, not Agent Requested.

As a workaround, you can explicitly mention the critical rule via @memory.mdc at the start of the chat while we figure out the root cause.

Let me know if the ASCII path test and removing globs helped. That’ll really help pin down the bug. This issue is known in this general class, there’s no specific fix for macOS plus Unicode paths yet, but if this confirms it, I’ll report it as a separate case.

Hi, Same issue here. no more always apply rules are really always applied…

@Olivier_BERTHET, to figure out if this is the same issue or a separate case, can you share a few things:

  1. Cursor version Help > About and your OS.
  2. The full project path. Does it include any non-ASCII characters like Cyrillic, accents, or CJK?
  3. Request ID: open a new Agent chat, send any message, then in the top-right chat menu select Copy Request ID.
  4. A screenshot of Cursor Settings (not VS Code settings) > Rules. How does the type show up for the problematic rules Always / Agent Requested / Auto Attached?
  5. The full contents of one .mdc file with alwaysApply: true, including the --- separators. If the frontmatter has globs: next to alwaysApply: true, try temporarily removing the globs line and doing Reload Window. That has fixed it in a few cases.

@Rex-alt-ai, if you have a minute, let me know if copying the project to a path without CJK characters and removing globs: ["**/*"] from the rules helped. We need this to log it as a separate case if it is not already covered by the fixes that have shipped.

A few related fixes in this area shipped recently, but I cannot give an exact ETA for this specific case until we confirm it on the latest version.