Automic VaultAutomic Vault

brew

Install hadolint with Homebrew, dnf, MacPorts, Nix, scoop, winget

Smarter Dockerfile linter to validate best practices. Version 2.14.0 via Homebrew; verified 2026-06-28.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install hadolint

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install hadolint

MacPorts ports tree · devel/hadolint/Portfile · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/hadolint

Scoop official bucket manifest trees · bucket/hadolint.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id hadolint.hadolint -e

Windows Package Manager source index · hadolint.hadolint · source: cdn.winget.microsoft.com

overview

Package summary

Smarter Dockerfile linter to validate best practices

Commands and aliases

  • hadolint

history

Project history and usage

Hadolint is a Haskell Dockerfile linter that parses Dockerfiles into an abstract syntax tree, applies Dockerfile best-practice rules, and delegates shell snippets in RUN instructions to ShellCheck. In package-manager culture it is a compact, CI-friendly static analyzer for container builds, often installed locally even when the same tool is also available as a container image.

Project history

The first GitHub release in April 2016 described Hadolint as a smarter Dockerfile linter that builds on ShellCheck. Early releases added a clearer command-line interface, multi-file support, Homebrew compatibility, YAML-based ignored-rule configuration, and integration documentation for editors and CI systems.

The project matured by expanding both Dockerfile syntax support and output formats. Release notes record JSON, CodeClimate, Checkstyle XML, Codacy, SonarQube, SARIF, GNU-style, and other formatter work across the 1.x and 2.x lines. Configuration also grew from ignored rules into severity thresholds, trusted registries, label schemas, strict-label behavior, and inline ignore pragmas.

Hadolint 2.0 in 2021 was described by the project as a major internal refactor focused on maintainability and efficiency, with new rule families around LABEL, COPY, useradd, HEALTHCHECK, and package-manager usage. Later releases continued tracking Dockerfile syntax, shell behavior, distribution quirks, and packaging targets such as static binaries and ARM64 builds.

Adoption history

The README documents several installation paths: prebuilt binaries for macOS, Windows, and Linux, Homebrew on macOS, Scoop on Windows, Nix, Docker Hub images, GHCR images, and source builds with Haskell tooling. That breadth is why Hadolint appears in local developer environments, pre-commit hooks, CI jobs, editor integrations, and containerized lint workflows.

Hadolint's adoption is tied to a specific DevOps habit: treating Dockerfiles like source code with repeatable lint rules. Its GitHub Action companion and integration documentation reinforce the tool's role in pull-request checks, while the CLI remains simple enough for one-off use as `hadolint Dockerfile`.

How it is used

Typical package usage is direct CLI linting of one or more Dockerfiles, optionally selecting output formats for CI annotations or machine-readable reports. Users can override severities, ignore specific rule codes, require label schemas, reject untrusted registries, and set a failure threshold that decides when the process exits unsuccessfully.

Hadolint looks for YAML configuration in project and user config locations, using the first file found. This makes the Homebrew package useful for teams that want a repository-local `.hadolint.yaml` while still allowing individual defaults under XDG or home-directory paths.

Why package nerds care

Hadolint is package-nerd catnip because it sits at the intersection of Haskell distribution, static binaries, Docker images, shell linting, CI formats, and config-file discovery. It gives a local package manager a cleaner path than `docker run` when a workflow needs fast startup, editor integration, or offline linting.

It also demonstrates how a single-purpose CLI can become infrastructure glue. Package maintainers care about its static binary story, cross-platform release assets, and transitive ShellCheck behavior because those details shape whether Dockerfile linting is painless inside larger build pipelines.

Timeline

  • 2016: v1.0 release introduced the Dockerfile linter built on ShellCheck.
  • 2016: v1.2 and v1.2.1 added multi-Dockerfile support and Homebrew compatibility work.
  • 2017: v1.2.6 added YAML configuration for ignored rules.
  • 2018: v1.5.0 added JSON, CodeClimate JSON, and Checkstyle XML output formats.
  • 2018: v1.10.0 added trusted-registry checks for FROM images.
  • 2018: v1.13.0 exposed Hadolint for use as a library.
  • 2021: v2.0.0 delivered a major internal refactor and added several Dockerfile rule families.
  • 2022: v2.10.0 added ARM64 binary support through a new release workflow.
  • 2025: v2.14.0 continued rule and package-manager compatibility updates.

Related projects

  • ShellCheck: shell-script analyzer used by Hadolint for RUN instruction shell code.
  • language-docker: Dockerfile parser used by Hadolint in its Haskell implementation.
  • hadolint-action: GitHub Action wrapper for running Hadolint in workflows.
  • Docker and OCI build tooling: the file format and build workflows Hadolint checks.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
$PWD/.hadolint.yaml$XDG_CONFIG_HOME/hadolint.yaml~/.config/hadolint.yaml~/.hadolint/hadolint.yaml~/hadolint/config.yaml~/.hadolint.yaml

executables

Installed executables

CommandKindExposureNote
hadolintcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.14.0
manager updated2026-06-28
local dataok
upstreamcurrent
latest detectedv2.14.0

https://github.com/hadolint/hadolint

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:hadolint
Version2.14.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/hadolint
Homepagehttps://github.com/hadolint/hadolint
Repositoryhttps://github.com/hadolint/hadolint
Upstream docshttps://github.com/hadolint/hadolint#readme
LicenseGPL-3.0-only
Source archivehttps://github.com/hadolint/hadolint/archive/refs/tags/v2.14.0.tar.gz
Last updated2026-06-28T12:35:16-04:00
Pulseupdated
Dependenciesgmp
Build dependenciescabal-install, ghc
Uses from macOSlibffi, xz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namehadolint
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

hadolint

nix profile install nixpkgs#hadolint
  • normalized package name match
  • Matched by: Hadolint
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: hadolint from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
dnf95%

ghc-commutative-semigroups 0.2.0.2-24.fc45

Haskell commutative-semigroups library

https://hackage.haskell.org/package/commutative-semigroups

sudo dnf install ghc-commutative-semigroups
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 14 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-commutative-semigroups from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-commutative-semigroups-devel 0.2.0.2-24.fc45

Haskell commutative-semigroups library development files

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-commutative-semigroups-devel
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-commutative-semigroups-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-commutative-semigroups-doc 0.2.0.2-24.fc45

Haskell commutative-semigroups library documentation

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-commutative-semigroups-doc
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: hadolint
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-commutative-semigroups-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-commutative-semigroups-prof 0.2.0.2-24.fc45

Haskell commutative-semigroups profiling library

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-commutative-semigroups-prof
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-commutative-semigroups-prof from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-hadolint 2.14.0-24.fc45

Haskell hadolint library

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-hadolint
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 32 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-hadolint from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-hadolint-devel 2.14.0-24.fc45

Haskell hadolint library development files

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-hadolint-devel
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-hadolint-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-hadolint-doc 2.14.0-24.fc45

Haskell hadolint library documentation

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-hadolint-doc
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: hadolint
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-hadolint-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-hadolint-prof 2.14.0-24.fc45

Haskell hadolint profiling library

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-hadolint-prof
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-hadolint-prof from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-monoid-subclasses 1.2.6.1-24.fc45

Haskell monoid-subclasses library

https://hackage.haskell.org/package/monoid-subclasses

sudo dnf install ghc-monoid-subclasses
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 23 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-monoid-subclasses from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-monoid-subclasses-devel 1.2.6.1-24.fc45

Haskell monoid-subclasses library development files

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-monoid-subclasses-devel
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-monoid-subclasses-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-monoid-subclasses-doc 1.2.6.1-24.fc45

Haskell monoid-subclasses library documentation

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-monoid-subclasses-doc
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: hadolint
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-monoid-subclasses-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-monoid-subclasses-prof 1.2.6.1-24.fc45

Haskell monoid-subclasses profiling library

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-monoid-subclasses-prof
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-monoid-subclasses-prof from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-primes 0.2.1.0-24.fc45

Haskell primes library

https://hackage.haskell.org/package/primes

sudo dnf install ghc-primes
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 8 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-primes from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-primes-devel 0.2.1.0-24.fc45

Haskell primes library development files

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-primes-devel
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: hadolint
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-primes-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

ghc-primes-doc 0.2.1.0-24.fc45

Haskell primes library documentation

https://hackage.haskell.org/package/hadolint

sudo dnf install ghc-primes-doc
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: hadolint
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Hadolint
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-primes-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment