claude-md-import-depth-exceeded
Import depth exceeds maximum, possible circular import
Rule Details
Deeply nested import chains make CLAUDE.md configurations difficult to understand and may indicate accidental circular dependencies that the circular-import rule has not yet caught. This rule tracks the depth of the import tree as it recursively resolves @import directives. When the depth exceeds the configured maximum (default: 5), an error is reported. A depth of 5 means file A imports B, which imports C, which imports D, which imports E, which imports F -- at that point the nesting is flagged.
Incorrect
An import chain that is too deep (depth > 5)
# CLAUDE.md
@import .claude/rules/a.md
# a.md imports b.md, b.md imports c.md,
# c.md imports d.md, d.md imports e.md,
# e.md imports f.md -- depth 6 exceeds the limitCorrect
A flat import structure with minimal nesting
# CLAUDE.md
@import .claude/rules/git.md
@import .claude/rules/testing.md
@import .claude/rules/api.mdHow To Fix
Flatten the import hierarchy by importing files directly from the main CLAUDE.md instead of chaining imports through intermediate files. If files genuinely need to share content, extract the shared content into a common file imported by both.
Options
Default options:
{
"maxDepth": 5
}Allow deeper nesting up to 10 levels:
{
"maxDepth": 10
}Strict mode: limit to 3 levels of nesting:
{
"maxDepth": 3
}When Not To Use It
Disable this rule only if your project has a legitimate reason for deeply nested imports, such as a multi-team monorepo with layered configuration.
Related Rules
Resources
Version
Available since: v0.2.0