Automic VaultAutomic Vault

brew

Install haskell-stack with Homebrew, chocolatey, apt, winget, apk, dnf, MacPorts, Nix, pacman, scoop

Cross-platform program for developing Haskell projects. Version 3.11.1 via Homebrew; verified 2026-06-28.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install haskell-stack

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install stack

MacPorts ports tree · lang/stack/Portfile · source: api.github.com

Linux

Debian aptverified · 92%
sudo apt install haskell-stack

Debian stable package indexes · haskell-stack · source: deb.debian.org

Alpine Linux apkverified · 92%
sudo apk add stack

Alpine Linux edge package indexes · stack · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install ghc-aeson-warning-parser

Fedora Rawhide package metadata · ghc-aeson-warning-parser · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#stack

nixpkgs package indexes · stack · source: raw.githubusercontent.com

Arch Linux pacmanverified · 92%
sudo pacman -S stack

Arch Linux sync databases · stack · source: geo.mirror.pkgbuild.com

Windows

Chocolateyverified · 92%
choco install haskell-stack

Chocolatey community package catalog · haskell-stack · source: community.chocolatey.org

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

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

Scoopverified · 92%
scoop install main/stack

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

overview

Package summary

Cross-platform program for developing Haskell projects

Commands and aliases

  • stack

history

Project history and usage

Stack is a cross-platform command-line build tool for Haskell projects. It became important by making GHC installation, package snapshots, project templates, builds, tests, scripts, uploads, and reproducible project configuration accessible through one executable.

Its package history is tied to Stackage: Stack made snapshot-based Haskell development a normal workflow, complementing Cabal and Hackage by giving users a resolver-centered way to pin a coherent package set.

Project history

The Stack changelog records the first public release on 2015-06-09 as the Haskell Tool Stack, beta quality. Within weeks it added index updates, package removal from HTTPS and Git, install support, test-running improvements, stack init, resolver support, Hackage upload support, stack new, stack solver, stack path, stack dot, stack upgrade, and the --stack-yaml flag.

The documentation describes Stack as a program for developing Haskell projects, aimed at new and experienced users, with support across Linux, macOS, and Windows. Its core promise is orchestration: select a GHC, read stack.yaml, build dependencies and project packages, and keep the toolchain reproducible enough for local development and CI.

Over time Stack grew beyond the early snapshot-and-build loop. The changelog shows Docker and Nix integration, script interpreter support, Hackage authentication and upload behavior, Hpack integration, lock files, snapshot listing, Windows/MSYS handling, and later support for newer GHC and Cabal versions.

Adoption history

Stack adoption spread through Haskell projects that wanted a consistent command line across operating systems and CI machines. Its docs and Hackage package page both emphasize Linux, macOS, and Windows support, while package managers distribute it as a single stack executable.

The tool became part of the Commercial Haskell and Stackage workflow, but it also stayed in the broader Haskell package ecosystem through Hackage releases, GitHub releases, and distribution by Homebrew, MacPorts, Nix, Arch, Debian, Ubuntu, Chocolatey, Scoop, and winget as reflected in package metadata.

Stack's adoption history also includes coexistence with Cabal. The docs present Cabal, Hackage, and Stackage as related pieces: Cabal defines and builds packages, Hackage hosts packages, Stackage supplies curated snapshots, and Stack coordinates project workflows around those components.

How it is used

Typical package-manager usage begins with installing stack, then running commands such as stack new, stack init, stack setup, stack build, stack test, stack exec, stack ghci, stack run, stack script, stack upload, and stack path inside or around a Haskell project.

A project-level stack.yaml selects a snapshot or compiler and project packages; global and user configuration live under Stack's root/config locations. This split is why the package has both project configuration and user credentials paths: builds are project-specific, but Hackage upload credentials are user-specific.

Stack is also used as a bootstrapper. It can install or select GHC, build a project with the versions implied by its snapshot, and run tools in the resulting environment. That makes it attractive for tutorials and CI scripts because one command can reproduce a build plan that would otherwise require several separate tools.

Why package nerds care

Stack is package-nerd material because it changed the default conversation about Haskell dependency management from only solving constraints to selecting known-good snapshots. That made build reproducibility, resolver names, and curated package sets visible in everyday project files.

It also sits at the intersection of package managers. Homebrew installs Stack as an OS package; Stack then installs or selects GHC and builds Haskell packages from Hackage or snapshots. This layering is both powerful and occasionally surprising, so packagers care about exactly which Stack version is distributed and how it handles GHC, MSYS2, Docker, Nix, Hackage Security, and credentials.

The changelog is a compact history of Haskell ecosystem pressure points: Windows path handling, Hackage authentication changes, Docker behavior, Nix mode, Cabal library compatibility, Stackage server API changes, and evolving GHC support.

Timeline

  • 2015-06-09: First public release as the Haskell Tool Stack.
  • 2015-06-23: 0.1.0.0 added stack new, stack solver, stack path, and expanded Haddock support.
  • 2015-06-26: 0.1.1.0 added stack dot, stack upgrade, STACK_EXE, and --stack-yaml.
  • 2017: The 1.x line included Docker-related changes, script interpreter work, Hackage credentials fixes, and Nix integration improvements.
  • 2023: The changelog records Hackage-only releases and Stack 2.x maintenance around snapshots, Docker, and GHC support.
  • 2026: Stack 3.x changelog entries show ongoing work for newer GHC/Cabal, Stackage API changes, Windows MSYS2 defaults, Backpack planning, and Hackage authentication behavior.

Related projects

  • Stackage provides curated snapshot sets that Stack uses as resolvers.
  • Hackage is the package repository Stack reads from and can upload to.
  • Cabal provides package descriptions and build infrastructure beneath many Stack operations.
  • GHC is the compiler Stack installs, selects, and invokes.
  • Hpack, Docker, Nix, MSYS2, and Hackage Security are recurring integration points in Stack's release history.

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
./stack.yaml$STACK_ROOT/config.yaml/etc/stack/config.yaml$XDG_CONFIG_HOME/stack/config.yaml

Credential files

Credential-bearing paths to review before unattended agent runs.

Unix
$STACK_ROOT/upload/credentials.json

executables

Installed executables

CommandKindExposureNote
stackcliglobal 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 version3.11.1
manager updated2026-06-28
local dataok
upstreamcurrent
latest detectedv3.11.1

https://github.com/commercialhaskell/stack

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:haskell-stack
Version3.11.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/haskell-stack
Homepagehttps://haskellstack.org/
Repositoryhttps://github.com/commercialhaskell/stack
Upstream docshttps://docs.haskellstack.org/
LicenseBSD-3-Clause
Source archivehttps://github.com/commercialhaskell/stack/archive/refs/tags/v3.11.1.tar.gz
Last updated2026-06-28T12:56:20-04:00
Pulseupdated
Dependenciesgmp
Build dependenciescabal-install, ghc
Uses from macOSlibffi
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 Namehaskell-stack
Aliases
  • stack
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • 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.

Debian apt95%

haskell-stack 2.15.7-1

The Haskell Tool Stack

https://haskellstack.org

sudo apt install haskell-stack
  • Section: haskell
  • Architecture: amd64
  • 12 dependencies
  • normalized package name match
  • Matched by: Haskell Stack
Debian stable package indexes · deb.debian.org · Debian stable package indexes: haskell-stack from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Ubuntu apt95%

haskell-stack 2.9.3.1-1

The Haskell Tool Stack

https://haskellstack.org

sudo apt install haskell-stack
  • Section: universe/haskell
  • Architecture: amd64
  • 11 dependencies
  • normalized package name match
  • Matched by: Haskell Stack
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: haskell-stack from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Chocolatey95%

haskell-stack

choco install haskell-stack
  • normalized package name match
  • Matched by: Haskell Stack
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: haskell-stack from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','gpg4win-vanilla'
winget95%

commercialhaskell.stack

winget install --id commercialhaskell.stack -e
  • normalized package name match
  • Matched by: Haskell Stack
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: commercialhaskell.stack from https://cdn.winget.microsoft.com/cache/source.msix
MacPorts94%

stack

sudo port install stack
  • installed executable or alias match
  • Matched by: Stack
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/stack/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Nix92%

stack

nix profile install nixpkgs#stack
  • installed executable or alias match
  • Matched by: Stack
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: stack from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
apk92%

stack 3.9.3-r0

The Haskell Tool Stack

https://haskellstack.org/

sudo apk add stack
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: stack
  • 1 dependencies
  • 1 provides
  • installed executable or alias match
  • Matched by: Stack
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: stack from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk92%

stack-bash-completion 3.9.3-r0

Bash completions for stack

https://haskellstack.org/

sudo apk add stack-bash-completion
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: stack
  • installed executable or alias match
  • Matched by: Stack
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: stack-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk92%

stack-fish-completion 3.9.3-r0

Fish completions for stack

https://haskellstack.org/

sudo apk add stack-fish-completion
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: stack
  • installed executable or alias match
  • Matched by: Stack
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: stack-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk92%

stack-zsh-completion 3.9.3-r0

Zsh completions for stack

https://haskellstack.org/

sudo apk add stack-zsh-completion
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: stack
  • installed executable or alias match
  • Matched by: Stack
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: stack-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf92%

ghc-aeson-warning-parser 0.1.1-41.fc44

Haskell aeson-warning-parser library

https://hackage.haskell.org/package/aeson-warning-parser

sudo dnf install ghc-aeson-warning-parser
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stack
  • 32 dependencies
  • 2 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-aeson-warning-parser from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf92%

ghc-aeson-warning-parser-devel 0.1.1-41.fc44

Haskell aeson-warning-parser library development files

https://haskellstack.org

sudo dnf install ghc-aeson-warning-parser-devel
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stack
  • 3 dependencies
  • 3 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-aeson-warning-parser-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf92%

ghc-aeson-warning-parser-doc 0.1.1-41.fc44

Haskell aeson-warning-parser library documentation

https://haskellstack.org

sudo dnf install ghc-aeson-warning-parser-doc
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: stack
  • 1 dependencies
  • 1 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-aeson-warning-parser-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf92%

ghc-aeson-warning-parser-prof 0.1.1-41.fc44

Haskell aeson-warning-parser profiling library

https://haskellstack.org

sudo dnf install ghc-aeson-warning-parser-prof
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stack
  • 2 dependencies
  • 2 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-aeson-warning-parser-prof from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf92%

ghc-casa-client 0.0.3-41.fc44

Haskell casa-client library

https://hackage.haskell.org/package/casa-client

sudo dnf install ghc-casa-client
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stack
  • 32 dependencies
  • 2 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-casa-client from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf92%

ghc-casa-client-devel 0.0.3-41.fc44

Haskell casa-client library development files

https://haskellstack.org

sudo dnf install ghc-casa-client-devel
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: stack
  • 3 dependencies
  • 3 provides
  • installed executable or alias match
  • Matched by: Stack
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ghc-casa-client-devel 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