.cursor folders in multi root workspaces

When using a multi-root workspace with separate .cursor directories in each root (e.g., workspace/root1/.cursor/rules/rule1.md and workspace/root2/.cursor/rules/rule2.md), does Cursor apply rules, skills, commands, and distillations from all roots in agent/plan chat sessions?

Hey, short answer: yes. Cursor picks up rules, skills, and commands from the matching folders in every root in a multi-root workspace, not just the first one.

Notes:

  • Rules .cursor/rules/: all roots are scanned. When matching by globs, a rule from root A only applies to files in root A. It’s scoped to its own root.
  • Skills: Cursor’s native path is .cursor/skills/<skill-name>/SKILL.md. It also supports .agents/skills/<skill-name>/SKILL.md as a cross-platform open standard from agentskills.io that also works in other tools like Claude Code, Codex CLI, and Gemini CLI. Skills are picked up from all roots.
  • Commands .cursor/commands/: picked up from all roots with no scoping.
  • Creating a new project rule via the UI writes to .cursor/rules in the first root by default.
  • If the same alwaysApply: true rule exists in multiple roots, which is common with worktrees, it will load multiple times and use extra context. This is a known caveat.

About distillations: there’s no user-facing concept like that in .cursor/. If you mean something specific, tell me where the term comes from or share an example folder and I’ll take a look.

Related feature request about fully workspace-scoped config: Workspace- or profile-scoped Cursor config (rules, skills, subagents, MCP)

Docs: