Feature Request: Support excluding specific rules files from loading (.claudeignore or settings config)

Resolved 💬 3 comments Opened Jan 29, 2026 by r1ckyIn Closed Feb 2, 2026

Problem

When working in a monorepo or nested project structure, Claude Code loads all .claude/rules/ files from parent directories. This causes significant context usage even when many rules are irrelevant to the current project.

My Setup

r1ckyIn_GitHub/
├── .claude/rules/           # 6,635 lines (shared rules for all projects)
│   ├── 07-language-practices/
│   │   ├── cpp.md          # Not needed for TypeScript projects
│   │   ├── java.md         # Not needed for TypeScript projects
│   │   ├── python.md       # Not needed for TypeScript projects
│   │   └── typescript.md   # Needed
│   └── ...
└── borealis-fabrics/        # A NestJS/TypeScript project
    └── .claude/rules/       # Project-specific rules

The Issue

  • My TypeScript project loads C++, Java, Python rules from parent directory
  • These irrelevant rules consume ~38% of context on session start
  • I cannot delete parent rules because other projects need them
  • I cannot move my project out because I need some parent rules

Proposed Solution

Support one of these approaches:

Option 1: .claudeignore file

# .claude/.claudeignore
rules/07-language-practices/cpp.md
rules/07-language-practices/java.md
rules/07-language-practices/python.md

Option 2: Settings config

// .claude/settings.json
{
  "rules": {
    "exclude": [
      "07-language-practices/cpp.md",
      "07-language-practices/java.md"
    ]
  }
}

Option 3: Glob pattern in settings

{
  "rules": {
    "excludePatterns": ["**/cpp.md", "**/java.md", "**/python.md"]
  }
}

Why paths frontmatter doesn't solve this

The existing paths field in rules only controls when rules are applied, but the files are still loaded and consume tokens.

Related Issues

  • #579
  • #1304
  • #4160

Impact

This would significantly improve context efficiency for users with:

  • Monorepo setups
  • Nested project structures
  • Multi-language codebases with shared configuration

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗