{"record":{"id":"7210803f9d138b9c","repo":"golangci/golangci-lint","slug":"analyzer-doesn-t-have-setting-q-valid-settings","errorCode":null,"errorMessage":"analyzer doesn't have setting %q, valid settings: %v","messagePattern":"analyzer doesn't have setting %q, valid settings: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/goanalysis/linter.go","lineNumber":150,"sourceCode":"\nfunc (lnt *Linter) allAnalyzerNames() []string {\n\tvar ret []string\n\tfor _, a := range lnt.analyzers {\n\t\tret = append(ret, a.Name)\n\t}\n\treturn ret\n}\n\nfunc (*Linter) configureAnalyzer(a *analysis.Analyzer, cfg map[string]any) error {\n\tfor k, v := range cfg {\n\t\tf := a.Flags.Lookup(k)\n\t\tif f == nil {\n\t\t\tvalidFlagNames := allFlagNames(&a.Flags)\n\t\t\tif len(validFlagNames) == 0 {\n\t\t\t\treturn errors.New(\"analyzer doesn't have settings\")\n\t\t\t}\n\n\t\t\treturn fmt.Errorf(\"analyzer doesn't have setting %q, valid settings: %v\",\n\t\t\t\tk, validFlagNames)\n\t\t}\n\n\t\tif err := f.Value.Set(valueToString(v)); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to set analyzer setting %q with value %q: %w\", k, v, err)\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (lnt *Linter) configure() error {\n\tanalyzersMap := map[string]*analysis.Analyzer{}\n\tfor _, a := range lnt.analyzers {\n\t\tanalyzersMap[a.Name] = a\n\t}\n\n\tfor analyzerName, analyzerSettings := range lnt.cfg {","sourceCodeStart":132,"sourceCodeEnd":168,"githubUrl":"https://github.com/golangci/golangci-lint/blob/ed7a235d2d771152056fdc142a9855567c5796a9/pkg/goanalysis/linter.go#L132-L168","documentation":"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.","triggerScenarios":"Thrown at pkg/goanalysis/linter.go:150 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use only setting keys listed in 'valid settings' for that linter","Check the linter's documentation for supported settings names","Remove the unknown settings key from linters-settings"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ed7a235d2d771152056fdc142a9855567c5796a9","analyzedAt":"2026-09-02T18:47:33.865Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}