{"record":{"id":"76a1932705d53501","repo":"golangci/golangci-lint","slug":"unsupported-sort-order-name-q","errorCode":null,"errorMessage":"unsupported sort-order name %q","messagePattern":"unsupported sort-order name %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/config/output.go","lineNumber":45,"sourceCode":"\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (o *Output) validateSortOrder() error {\n\tvalidOrders := []string{\"linter\", \"file\", \"severity\"}\n\n\tall := strings.Join(o.SortOrder, \" \")\n\n\tfor _, order := range o.SortOrder {\n\t\tif strings.Count(all, order) > 1 {\n\t\t\treturn fmt.Errorf(\"the sort-order name %q is repeated several times\", order)\n\t\t}\n\n\t\tif !slices.Contains(validOrders, order) {\n\t\t\treturn fmt.Errorf(\"unsupported sort-order name %q\", order)\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (o *Output) validatePathMode() error {\n\tswitch o.PathMode {\n\tcase \"\", fsutils.OutputPathModeAbsolute:\n\t\t// Valid\n\n\tdefault:\n\t\treturn fmt.Errorf(\"unsupported output path mode %q\", o.PathMode)\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/golangci/golangci-lint/blob/ed7a235d2d771152056fdc142a9855567c5796a9/pkg/config/output.go#L27-L63","documentation":"This error is thrown during output config validation when a sort-order name is not one of the three supported keys: 'linter', 'file', 'severity'. The validator uses slices.Contains against that allowlist and rejects anything else. It indicates a typo or an unsupported key in output.sort-order.","triggerScenarios":"Putting a misspelled or invented key in output.sort-order (e.g. [\"linters\", \"severity\"], [\"path\", \"file\"]) then running golangci-lint or calling Output.Validate().","commonSituations":"Typos like 'linters' instead of 'linter' or 'severities'; copying sort keys from other tools; upgrading golangci-lint and a previously-tolerated key is no longer allowed.","solutions":["Correct the key to one of: linter, file, severity","Check `golangci-lint help` or docs for the exact accepted sort-order names in your version"],"exampleFix":"// before\noutput:\n  sort-order:\n    - linters\n    - severity\n// after\noutput:\n  sort-order:\n    - linter\n    - severity","handlingStrategy":"validation","validationCode":"validOrders := []string{\"linter\", \"file\", \"severity\"}\nfor _, o := range cfg.Output.SortOrder {\n  if !slices.Contains(validOrders, o) {\n    return fmt.Errorf(\"sort-order %q not in %v\", o, validOrders)\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy sort-order names exactly from the golangci-lint docs for your version","Run `golangci-lint config verify` in CI to catch typos early","Prefer generating config from a linter schema or editor YAML schema"],"tags":["config","validation","golangci-lint"],"backgroundTag":"invalid-config-value","analyzedSha":"ed7a235d2d771152056fdc142a9855567c5796a9","analyzedAt":"2026-09-02T18:47:33.865Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}