Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time


nolintlint is a Go static analysis tool to find ill-formed or insufficiently explained //nolint directives for golangci-lint (or any other linter, using this package)


To ensure that lint exceptions have explanations. Consider the case below:

import "crypto/md5" //nolint:all

func hash(data []byte) []byte {
	return md5.New().Sum(data) //nolint:all

In the above case, nolint directives are present but the user has no idea why this is being done or which linter is being suppressed (in this case, gosec recommends against use of md5). nolintlint can require that the code provide an explanation, which might look as follows:

import "crypto/md5" //nolint:gosec // this is not used in a secure application

func hash(data []byte) []byte {
	return md5.New().Sum(data) //nolint:gosec // this result is not used in a secure application

nolintlint can also identify cases where you may have written // nolint. Finally nolintlint, can also enforce that you use the machine-readable nolint directive format //nolint:all and that you mention what linter is being suppressed, as shown above when we write //nolint:gosec.