Last month I wrote about the skills controllability problem, then covered a community workaround using hooks to auto-activate context based on file patterns.
That workaround is now obsolete. Claude Code 2.0.64 ships native path matching. But let’s be honest: this is Claude Code catching up to what Cursor has had for months.
Cursor vs Claude Code
Cursor shipped .cursor/rules/ with glob-based path matching earlier this year. The implementations are nearly identical:
| Feature | Cursor | Claude Code |
|---|---|---|
| Directory | .cursor/rules/ | .claude/rules/ |
| File format | .mdc | .md |
| Path matching | globs: ["src/**/*.ts"] | paths: src/**/*.ts |
| Nested rules | Yes | Yes |
Cursor also has features Claude Code lacks:
- Rule types: Always (global), Auto Attached (path-based), Agent Requested (model decides)
alwaysApplytoggle: Explicit control over when rules load/Generate Cursor Rules: Create rules from chat
Catching up to good ideas is fine. Just being honest about the timeline.
How It Works
# .claude/rules/backend.md
---
paths: src/api/**/*.ts
---
# API Development Rules
- All endpoints must include input validation
- Use the standard error response format
Rules without paths: apply globally. Rules with paths: only load when Claude works with matching files. Run /memory to verify what’s loaded.
If you’ve used Cursor’s rules, this will feel familiar. That’s the point.
What’s Still Missing
Neither tool fully solves workflow orchestration:
- No explicit invocation: Can’t force a rule when patterns don’t match
- No disable flags: Can’t skip rules for a session
- No invocation logging: Can’t see which rules loaded
Path rules for context selection. Slash commands for workflow orchestration. Both patterns have their place.
Using Both Tools? Share Your Rules
Teams using both Cursor and Claude Code don’t need duplicate rules. The key insight: Claude ignores frontmatter, Cursor uses it. Write rules in Cursor’s format and both tools read them.
Option 1: Symlink the directories
# Use Cursor's rules as the source of truth
ln -s .cursor/rules .claude/rules
Option 2: Use AGENTS.md as a standard
The AGENTS.md convention is gaining traction as a tool-agnostic location for AI instructions. Symlink tool-specific files to it:
ln -s AGENTS.md CLAUDE.md
ln -s AGENTS.md .cursorrules
Option 3: Centralized config
mkdir -p .ai/rules
ln -s ../.ai/rules .claude/rules
ln -s ../.ai/rules .cursor/rules
For more complex setups, rulesync generates tool-specific files from a single source, and steipete/agent-rules provides a unified format that works across tools.
For Claude Code Users
If you implemented the hooks workaround from my previous post, delete your scripts and use native rules. Better team workflows, progressive disclosure, less maintenance.
For users choosing between tools: Cursor’s implementation is slightly more mature. Claude Code is playing catch-up.
— The bottom lineGood feature, late arrival. Use it if you’re on Claude Code. Don’t pretend it’s novel.


