golangci/golangci-lint · error
eventually all checks were disabled: at least one must be en
Error message
eventually all checks were disabled: at least one must be enabled
What it means
Sentinel validation error from validateAtLeastOneCheckerEnabled, called after gocritic resolves tags/checks into inferredEnabledChecks: the final computed set of enabled checks is empty (everything disabled, directly or via tags), so gocritic would report nothing. It fires after option-combination checks as a final consistency gate.
Source
Thrown at pkg/golinters/gocritic/gocritic_settings.go:392
func (s *settingsWrapper) validateDisabledAndEnabledAtOneMoment() error {
for _, tag := range s.DisabledTags {
if slices.Contains(s.EnabledTags, tag) {
return fmt.Errorf("tag %q disabled and enabled at one moment", tag)
}
}
for _, check := range s.DisabledChecks {
if slices.Contains(s.EnabledChecks, check) {
return fmt.Errorf("check %q disabled and enabled at one moment", check)
}
}
return nil
}
func (s *settingsWrapper) validateAtLeastOneCheckerEnabled() error {
if len(s.inferredEnabledChecks) == 0 {
return errors.New("eventually all checks were disabled: at least one must be enabled")
}
return nil
}
type goCriticChecks[T any] map[string]T
func (m goCriticChecks[T]) has(name string) bool {
_, ok := m[name]
return ok
}
func debugChecksListf(checks []string, format string, args ...any) {
if !isDebug {
return
}
v := slices.Sorted(slices.Values(checks))View on GitHub (pinned to ed7a235d2d)
Solutions
- Enable at least one gocritic check or tag
- Remove disabled-checks/disabled-tags entries that eliminate all checks
- Remove disable-all or pair it with enabled-checks/enabled-tags
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/golinters/gocritic/gocritic_settings.go:392 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of golangci/golangci-lint@ed7a235d2d (2026-09-02).
Data as JSON: /api/errors/7d4be49acc6a3485.
Report an issue: GitHub.