golangci/golangci-lint · error

analyzer doesn't have setting %q, valid settings: %v

Error message

analyzer doesn't have setting %q, valid settings: %v

What it means

Error from goanalysis Linter.configureAnalyzer (called via configure): the settings map passed to a goanalysis-based linter contained a key that does not correspond to any flag on the analyzer. Valid flag names are listed in the message; if the analyzer defines none, a plain 'analyzer doesn't have settings' error is returned instead. It fires when linters-settings entries target a linter that accepts no such option.

Source

Thrown at pkg/goanalysis/linter.go:150

func (lnt *Linter) allAnalyzerNames() []string {
	var ret []string
	for _, a := range lnt.analyzers {
		ret = append(ret, a.Name)
	}
	return ret
}

func (*Linter) configureAnalyzer(a *analysis.Analyzer, cfg map[string]any) error {
	for k, v := range cfg {
		f := a.Flags.Lookup(k)
		if f == nil {
			validFlagNames := allFlagNames(&a.Flags)
			if len(validFlagNames) == 0 {
				return errors.New("analyzer doesn't have settings")
			}

			return fmt.Errorf("analyzer doesn't have setting %q, valid settings: %v",
				k, validFlagNames)
		}

		if err := f.Value.Set(valueToString(v)); err != nil {
			return fmt.Errorf("failed to set analyzer setting %q with value %q: %w", k, v, err)
		}
	}

	return nil
}

func (lnt *Linter) configure() error {
	analyzersMap := map[string]*analysis.Analyzer{}
	for _, a := range lnt.analyzers {
		analyzersMap[a.Name] = a
	}

	for analyzerName, analyzerSettings := range lnt.cfg {

View on GitHub (pinned to ed7a235d2d)

Solutions

  1. Use only setting keys listed in 'valid settings' for that linter
  2. Check the linter's documentation for supported settings names
  3. Remove the unknown settings key from linters-settings
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/goanalysis/linter.go:150 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/7210803f9d138b9c. Report an issue: GitHub.