Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Linters
  3. golangci-lint

golangci-lint

What it is

golangci-lint is a free, open-source runner for Go linters. It runs linters in parallel, reuses the Go build cache and its own analysis cache, accepts YAML configuration and includes more than a hundred linters. Results can be emitted as text, JSON, tab, HTML, Checkstyle, Code Climate, JUnit-XML, TeamCity or SARIF. Documented editor integrations include GoLand, Visual Studio Code, GNU Emacs, Vim, the Language Server Protocol and Sublime Text. For continuous integration, the project recommends its GitHub Action and documents integrations for GitLab CI and Buildkite. Installation options include binaries and package managers for Linux, macOS and Windows, as well as Docker. The FAQ says it supports the two latest minor Go versions, with the further limit that a supported version cannot be newer than the Go version used to compile golangci-lint. The project recommends using a specific version in CI for more reproducible builds. It favors binary installation and notes that go install, go get, tools pattern, and tool command or directive installations are not guaranteed to work. Default settings are tuned to minimize false positives.

For and against

For

  • Runs more than a hundred linters in parallel.
  • Supports multiple machine-readable and human-readable output formats.
  • Documents integrations for editors and CI systems.
  • Free and open source.

Against

  • Supports only the two latest minor Go versions.
  • Several source-oriented installation methods are not guaranteed to work.
  • Supported Go versions cannot exceed the compiler's Go version.

The verdict

golangci-lint brings many Go linters into a configurable runner with caching and broad output choices. Check its Go-version limits and follow the project's binary-installation guidance when choosing an installation method.

Who it suits

golangci-lint suits Go developers who want to run multiple linters and configure their output and analysis through YAML. Its documented editor and CI integrations may also suit teams incorporating lint checks into their development workflows.

Plans and prices

Free and open-source

Free

Free and open-source project built by volunteers

Every plan, in full

On the record

CI
The project recommends its GitHub Action for GitHub CI and documents integrations for GitLab CI and Buildkite.golangci-lint.run · read 30 Sep 2026
CI versioning
The project recommends installing a specific golangci-lint version in CI to help keep builds reproducible.golangci-lint.run · read 30 Sep 2026
Configuration
Golangci-lint supports YAML configuration.golangci-lint.run · read 30 Sep 2026
Editors
The documentation lists integrations for GoLand, Visual Studio Code, GNU Emacs, Vim, the Language Server Protocol, and Sublime Text.golangci-lint.run · read 30 Sep 2026
False positives
The default settings are tuned to minimize false positives.golangci-lint.run · read 30 Sep 2026
Installation
The project documents binary and package manager installation on Linux, macOS, and Windows, as well as Docker installation.golangci-lint.run · read 30 Sep 2026
Outputs
It supports text, JSON, tab, HTML, Checkstyle, Code Climate, JUnit-XML, TeamCity, and SARIF output formats.golangci-lint.run · read 30 Sep 2026
Performance
The project says it runs linters in parallel and reuses the Go build cache and its own analysis cache.golangci-lint.run · read 30 Sep 2026
Purpose
Golangci-lint is a fast linter runner for Go that runs linters in parallel, uses caching, supports YAML configuration, and includes over a hundred linters.golangci-lint.run · read 30 Sep 2026
Source installation
The project recommends binary installation and says go install, go get, tools pattern, and tool command or directive installations are not guaranteed to work.golangci-lint.run · read 30 Sep 2026
Support
The project is built by volunteers and accepts support through GitHub Sponsors, Open Collective, and Thanks.dev.golangci-lint.run · read 30 Sep 2026
Supported Go versions
The FAQ says it supports the two latest minor Go versions and versions no newer than the Go version used to compile golangci-lint.golangci-lint.run · read 30 Sep 2026

Alternatives to golangci-lint

Every alternative, ranked