golangci/golangci-lint · error

cannot use 'disable' with 'default=none'

Error message

cannot use 'disable' with 'default=none'

What it means

Guard in checkSettings (called by New): godoclint is configured with default=none while disable also lists rules. With the default set to none no rules run anyway, so a disable list is contradictory; construction of the linter fails with this error.

Source

Thrown at pkg/golinters/godoclint/godoclint.go:90

			internal.LinterLogger.Errorf("godoclint: %v", err)
		},
	})

	return goanalysis.
		NewLinterFromAnalyzer(composition.Analyzer.GetAnalyzer()).
		WithLoadMode(goanalysis.LoadModeSyntax)
}

func checkSettings(settings *config.GodoclintSettings) error {
	switch deref(settings.Default) {
	case string(model.DefaultSetAll):
		if len(settings.Enable) > 0 {
			return errors.New("cannot use 'enable' with 'default=all'")
		}

	case string(model.DefaultSetNone):
		if len(settings.Disable) > 0 {
			return errors.New("cannot use 'disable' with 'default=none'")
		}

	default:
		for _, rule := range settings.Enable {
			if slices.Contains(settings.Disable, rule) {
				return fmt.Errorf("a rule cannot be enabled and disabled at the same time: '%s'", rule)
			}
		}

		for _, rule := range settings.Disable {
			if slices.Contains(settings.Enable, rule) {
				return fmt.Errorf("a rule cannot be enabled and disabled at the same time: '%s'", rule)
			}
		}
	}

	return nil
}

View on GitHub (pinned to ed7a235d2d)

Solutions

  1. Remove the disable list when default=none
  2. Or set default=all and use disable to opt rules out
  3. Use enable instead to opt specific rules in under default=none
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/golinters/godoclint/godoclint.go:90 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/b318894860e277c6. Report an issue: GitHub.