Skip to content

Inline Disable Directives

claudelint supports inline comments to disable specific validation rules for parts of your files. Valid rule IDs can be found in the Rules Reference or by running claudelint list-rules.

Syntax

Disable Entire File

Disable a specific rule for the entire file:

markdown
<!-- claudelint-disable-file import-missing -->

@import non-existent-file.md
@import another-missing-file.md

Disable all rules for the entire file:

markdown
<!-- claudelint-disable-file -->

This file won't be validated at all.

Disable Next Line

Disable a specific rule for the next line only:

markdown
<!-- claudelint-disable-next-line import-missing -->
@import non-existent-file.md

This line will still be validated.

Disable all rules for the next line:

markdown
<!-- claudelint-disable-next-line -->
@import non-existent-file.md

Disable Current Line

Disable a specific rule on the same line as the comment:

markdown
<!-- claudelint-disable-line size-warning --> This is a very long line...

Disable all rules on the current line:

markdown
<!-- claudelint-disable-line --> Any violation on this line is ignored

Disable Range

Disable a specific rule for a block of lines:

markdown
<!-- claudelint-disable import-missing -->
@import file1.md
@import file2.md
@import file3.md
<!-- claudelint-enable import-missing -->

Validation resumes here.

Disable all rules for a block:

markdown
<!-- claudelint-disable -->
Content in this block won't be validated.
<!-- claudelint-enable -->

Note: Unclosed disable blocks extend to the end of the file.

Unused Disable Detection

claudelint can warn about disable directives that don't suppress any violations:

json
{
  "reportUnusedDisableDirectives": true
}

When enabled, unnecessary disables produce a warning:

text
! Warning: Unused disable directive for 'size-error' [unused-disable]
  at: CLAUDE.md:3
  Fix: Remove the unused disable comment

This helps keep disable comments clean by catching stale directives left over after violations are fixed.

Best Practices

  • Use sparingly — if you're disabling rules frequently, consider adjusting your config in .claudelintrc.json instead

  • Be specific — prefer <!-- claudelint-disable-next-line import-missing --> over <!-- claudelint-disable-next-line --> so only the necessary rule is suppressed

  • Document why — add a comment above the disable explaining the reason:

    markdown
    <!-- Imported file will be created by build script -->
    <!-- claudelint-disable-next-line import-missing -->
    @import generated-content.md
  • Place close to the violation — use disable-next-line rather than broad range disables

  • Enable reportUnusedDisableDirectives to catch stale disables, especially in CI

Advanced Examples

Multiple Rules

Each rule needs its own disable comment:

markdown
<!-- claudelint-disable-next-line import-missing -->
<!-- claudelint-disable-next-line size-warning -->
@import very-large-non-existent-file.md

Nested Ranges

Range disables can overlap:

markdown
<!-- claudelint-disable import-missing -->
@import file1.md

<!-- claudelint-disable size-warning -->
@import file2.md
<!-- claudelint-enable size-warning -->

@import file3.md
<!-- claudelint-enable import-missing -->

For troubleshooting inline disables (wrong line numbers, disables not working), see Troubleshooting.

See Also