stack: A program for developing Haskell projects

[ bsd3, development, library, program ] [ Propose Tags ] [ Report a vulnerability ]

Stack (the Haskell Tool Stack) is a program for developing Haskell projects. It is aimed at new and experienced users of Haskell and seeks to support them fully on Linux, macOS and Windows.

For information about how to use Stack, see https://docs.haskellstack.org.

If building a stack executable for distribution, please download the source code from https://github.com/commercialhaskell/stack/releases and build it with Stack in order to ensure identical behaviour to official binaries.

This package is provided on Hackage for convenience and bootstrapping purposes.

Currently, the library exposed by the package is intended for use only by the executable. The library's API may change significantly, even between minor releases.


[Skip to Readme]

Modules

[Last Documentation]

  • Build_stack
  • Control
    • Concurrent
      • Control.Concurrent.Execute
  • Data
    • Attoparsec
      • Data.Attoparsec.Args
      • Data.Attoparsec.Combinators
      • Data.Attoparsec.Interpreter
    • Monoid
      • Data.Monoid.Map
  • GHC
    • Utils
      • GhcPkg
        • Main
          • GHC.Utils.GhcPkg.Main.Compat
  • Network
    • HTTP
      • Network.HTTP.StackClient
  • Options
    • Applicative
      • Options.Applicative.Args
      • Builder
        • Options.Applicative.Builder.Extra
      • Options.Applicative.Complicated
  • Path
    • Path.CheckInstall
    • Path.Extra
    • Path.Find
  • Paths_stack
  • Stack
    • Stack.Build
      • Stack.Build.Cache
      • Stack.Build.ConstructPlan
      • Stack.Build.Execute
      • Stack.Build.ExecuteEnv
      • Stack.Build.ExecutePackage
      • Stack.Build.Haddock
      • Stack.Build.Installed
      • Stack.Build.Source
      • Stack.Build.Target
    • Stack.BuildInfo
    • Stack.BuildOpts
    • Stack.BuildPlan
    • Stack.CLI
    • Stack.Clean
    • Stack.Component
    • Stack.ComponentFile
    • Stack.Config
      • Stack.Config.Build
      • Stack.Config.ConfigureScript
      • Stack.Config.Docker
      • Stack.Config.Nix
    • Stack.ConfigCmd
    • Stack.ConfigureOpts
    • Stack.Constants
      • Stack.Constants.Config
      • Stack.Constants.StackProgName
    • Stack.Coverage
    • Stack.DefaultColorWhen
    • Stack.DependencyGraph
    • Stack.Docker
    • Stack.DockerCmd
    • Stack.Dot
    • Stack.Eval
    • Stack.Exec
    • Stack.FileWatch
    • Stack.GhcPkg
    • Stack.Ghci
      • Stack.Ghci.Script
    • Stack.Hoogle
    • Stack.IDE
    • Stack.Init
    • Stack.List
    • Stack.Lock
    • Stack.Ls
    • Stack.New
    • Stack.Nix
    • Options
      • Stack.Options.BenchParser
      • Stack.Options.BuildMonoidParser
      • Stack.Options.BuildParser
      • Stack.Options.CleanParser
      • Stack.Options.Completion
      • Stack.Options.ConfigEnvParser
      • Stack.Options.ConfigParser
      • Stack.Options.ConfigSetParser
      • Stack.Options.DockerParser
      • Stack.Options.DotParser
      • Stack.Options.EvalParser
      • Stack.Options.ExecParser
      • Stack.Options.FlagsParser
      • Stack.Options.GhcBuildParser
      • Stack.Options.GhcVariantParser
      • Stack.Options.GhciParser
      • Stack.Options.GlobalParser
      • Stack.Options.HaddockParser
      • Stack.Options.HpcReportParser
      • Stack.Options.IdeParser
      • Stack.Options.InitParser
      • Stack.Options.LogLevelParser
      • Stack.Options.LsParser
      • Stack.Options.NewParser
      • Stack.Options.NixParser
      • Stack.Options.PackageParser
      • Stack.Options.PackagesParser
      • Stack.Options.PathParser
      • Stack.Options.PvpBoundsParser
      • Stack.Options.SDistParser
      • Stack.Options.ScriptParser
      • Stack.Options.SetupParser
      • Stack.Options.SnapshotParser
      • Stack.Options.TestParser
      • Stack.Options.UnpackParser
      • Stack.Options.UpgradeParser
      • Stack.Options.UploadParser
      • Stack.Options.Utils
    • Stack.Package
    • Stack.PackageDump
    • Stack.PackageFile
    • Stack.Path
    • Stack.Prelude
    • Stack.Query
    • Stack.Runners
    • Stack.SDist
    • Stack.Script
    • Stack.Setup
      • Stack.Setup.Installed
    • Stack.SetupCmd
    • Stack.SourceMap
    • Storage
      • Stack.Storage.Project
      • Stack.Storage.User
      • Stack.Storage.Util
    • Stack.Templates
    • Types
      • Stack.Types.AddCommand
      • Stack.Types.AllowNewerDeps
      • Stack.Types.ApplyGhcOptions
      • Stack.Types.ApplyProgOptions
      • Stack.Types.Build
        • Stack.Types.Build.ConstructPlan
        • Stack.Types.Build.Exception
      • Stack.Types.BuildConfig
      • Stack.Types.BuildOpts
      • Stack.Types.BuildOptsCLI
      • Stack.Types.BuildOptsMonoid
      • Stack.Types.CabalConfigKey
      • Stack.Types.Cache
      • Stack.Types.Casa
      • Stack.Types.ColorWhen
      • Stack.Types.CompCollection
      • Stack.Types.Compiler
      • Stack.Types.CompilerBuild
      • Stack.Types.CompilerPaths
      • Stack.Types.Component
      • Stack.Types.ComponentUtils
      • Stack.Types.Config
        • Stack.Types.Config.Exception
      • Stack.Types.ConfigMonoid
      • Stack.Types.ConfigSetOpts
      • Stack.Types.ConfigureOpts
      • Stack.Types.Curator
      • Stack.Types.Dependency
      • Stack.Types.DependencyTree
      • Stack.Types.Docker
      • Stack.Types.DockerEntrypoint
      • Stack.Types.DotConfig
      • Stack.Types.DotOpts
      • Stack.Types.DownloadInfo
      • Stack.Types.DumpLogs
      • Stack.Types.DumpPackage
      • Stack.Types.EnvConfig
      • Stack.Types.EnvSettings
      • Stack.Types.ExtraDirs
      • Stack.Types.FileDigestCache
      • Stack.Types.GHCDownloadInfo
      • Stack.Types.GHCVariant
      • Stack.Types.GhcOptionKey
      • Stack.Types.GhcOptions
      • Stack.Types.GhcPkgExe
      • Stack.Types.GhcPkgId
      • Stack.Types.GhciOpts
      • Stack.Types.GlobalOpts
      • Stack.Types.GlobalOptsMonoid
      • Stack.Types.HpcReportOpts
      • Stack.Types.IdeOpts
      • Stack.Types.Installed
      • Stack.Types.InterfaceOpt
      • Stack.Types.IsMutable
      • Stack.Types.LockFileBehavior
      • Stack.Types.LsOpts
      • Stack.Types.MsysEnvironment
      • Stack.Types.NamedComponent
      • Stack.Types.Nix
      • Stack.Types.Package
      • Stack.Types.PackageFile
      • Stack.Types.PackageName
      • Stack.Types.ParentMap
      • Stack.Types.Plan
      • Stack.Types.Platform
      • Stack.Types.Project
      • Stack.Types.ProjectAndConfigMonoid
      • Stack.Types.ProjectConfig
      • Stack.Types.PvpBounds
      • Stack.Types.Runner
      • Stack.Types.SCM
      • Stack.Types.SDistOpts
      • Stack.Types.SetupInfo
      • Stack.Types.SetupOpts
      • Stack.Types.Snapshot
      • Stack.Types.SourceMap
      • Stack.Types.StackYamlLoc
      • Stack.Types.Storage
      • Stack.Types.TemplateName
      • Stack.Types.UnusedFlags
      • Stack.Types.UpgradeOpts
      • Stack.Types.UploadOpts
      • Stack.Types.Version
      • Stack.Types.VersionedDownloadInfo
      • Stack.Types.WantedCompilerSetter
    • Stack.Uninstall
    • Stack.Unpack
    • Stack.Update
    • Stack.Upgrade
    • Stack.Upload
  • System
    • Info
      • System.Info.ShortPathName
    • System.Permissions
    • Process
      • System.Process.Pager
    • System.Terminal

Flags

Manual Flags

NameDescriptionDefault
developer-mode

By default, output extra developer information.

Disabled
disable-git-info

Disable inclusion of current Git information in the Stack executable when it is built.

Disabled
disable-stack-upload

For use only during development and debugging. Disable 'stack upload' so that it does not make HTTP requests. Stack will output information about the HTTP request(s) that it would have made if the command was enabled.

Disabled
hide-dependency-versions

Hides dependency versions from 'stack --version'. Used only when building a Stack executable for official release. Note to packagers/distributors: DO NOT OVERRIDE THIS FLAG IF YOU ARE BUILDING STACK ANY OTHER WAY (e.g. using Cabal or from Hackage), as it makes debugging support requests more difficult.

Disabled
integration-tests

Run the integration test suite.

Disabled
static

When building the Stack executable, or the stack-integration-test executable, pass the -static and -pthread flags to the linker used by GHC.

Disabled
supported-build

If false, causes 'stack --version' to issue a warning about the build being unsupported. Used only when building a Stack executable for official release. Note to packagers/distributors: DO NOT OVERRIDE THIS FLAG IF YOU ARE BUILDING STACK ANY OTHER WAY (e.g. using Cabal or from Hackage), as it makes debugging support requests more difficult.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0, 0.0.1, 0.0.2, 0.0.2.1, 0.0.3, 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.3.1, 0.1.4.0, 0.1.4.1, 0.1.5.0, 0.1.6.0, 0.1.8.0, 0.1.10.0, 0.1.10.1, 1.0.0, 1.0.2, 1.0.4, 1.0.4.1, 1.0.4.2, 1.0.4.3, 1.1.0, 1.1.2, 1.2.0, 1.3.0, 1.3.2, 1.4.0, 1.5.0, 1.5.1, 1.6.1, 1.6.1.1, 1.6.3, 1.6.3.1, 1.6.5, 1.7.1, 1.9.1, 1.9.1.1, 1.9.3, 1.9.3.1, 2.1.1, 2.1.1.1, 2.1.3, 2.1.3.1, 2.3.1, 2.3.3, 2.5.1, 2.5.1.1, 2.7.1, 2.7.3, 2.7.5, 2.9.1, 2.9.3, 2.9.3.1, 2.11.1, 2.13.1, 2.15.1, 2.15.3, 2.15.5, 2.15.7, 3.1.1, 3.3.1, 3.5.1, 3.7.1, 3.9.1, 9.9.9 (info)
Change log ChangeLog.md
Dependencies aeson (>=2.0.3.0), aeson-warning-parser (>=0.1.1), ansi-terminal (>=1.0.2), array (>=0.5.8.0), async (>=2.2.5), attoparsec (>=0.14.4), base (>=4.16.0.0 && <5), base64-bytestring (>=1.2.1.0), bytestring (>=0.12.2.0), Cabal (>=3.14 && <3.17), casa-client (>=0.0.2), companion (>=0.1.0), conduit (>=1.3.6.1), conduit-extra (>=1.3.8), containers (>=0.7), crypton (>=1.0.4), directory (>=1.3.8.5), echo (>=0.1.4), exceptions (>=0.10.9), extra (>=1.8.1), file-embed (>=0.0.16.0), filelock (>=0.1.1.8), filepath (>=1.5.4.0), fsnotify (>=0.4.1), generic-deriving (>=1.14.6), ghc-boot (>=9.10.3), githash (>=0.1.7.0), hashable (>=1.5.0.0), hi-file-parser (>=0.1.8.0), hpack (>=0.36.0), hpc (>=0.7.0.2), hspec (>=2.11.16), http-client (>=0.7.19), http-client-tls (>=0.3.6.2), http-conduit (>=2.3.9.1), http-download (>=0.2.1.0), http-types (>=0.12.4), memory (>=0.18.0), microlens (>=0.4.14.0), mtl (>=2.3.1), mustache (>=2.4.3.1), neat-interpolation (>=0.5.1.4), network (>=3.1.2.9), open-browser (>=0.4.0.0), optparse-applicative (>=0.18.1.0), optparse-generic (>=1.5.2), optparse-simple (>=0.1.1.4), pantry (>=0.11.0), path (>=0.9.5), path-io (>=1.8.2), persistent (>=2.14.0.0 && <2.19), persistent-sqlite (>=2.13.3.1), pretty (>=1.1.3.6), process (>=1.6.13.2), project-template (>=0.2.1.0), random (>=1.2.1.3), rio (>=0.1.22.0 && <0.1.23.0 || >0.1.23.0), rio-prettyprint (>=0.1.8.0), split (>=0.2.5), stack, stm (>=2.5.3.1), tar (>=0.6.2.0), template-haskell (>=2.22.0.0), text (>=2.1.3), time (>=1.12.2), transformers (>=0.6.1.1), unix, unix-compat (>=0.7.4.1), unordered-containers (>=0.2.20.1), vector (>=0.13.2.0), Win32 (>=2.14.1.0), yaml (>=0.11.11.2), zlib (>=0.7.1.1) [details]
License BSD-3-Clause
Author Commercial Haskell SIG
Maintainer Mike Pilgrem <public@pilgrem.com>, Emanuel Borsboom <manny@fpcomplete.com>
Category Development
Home page http://haskellstack.org
Bug tracker https://github.com/commercialhaskell/stack/issues
Source repo head: git clone https://github.com/commercialhaskell/stack
Uploaded by mpilgrem at 2026-01-04T17:10:58Z
Distributions Arch:2.9.3.1, Debian:2.3.3, Fedora:3.7.1, NixOS:3.7.1, Stackage:3.9.1
Reverse Dependencies 3 direct, 1 indirect [details]
Executables stack-integration-test, stack
Downloads 61304 total (167 in the last 30 days)
Rating 2.25 (votes: 7) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2026-01-04 [all 2 reports]

Readme for stack-3.9.1

[back to package description]

Stack

Unit tests Integration tests Release

Stack is a program for developing Haskell projects. It is aimed at new and experienced users of Haskell and seeks to support them fully on Linux, macOS and Windows.

See haskellstack.org, or the doc directory of this repository, for more information.

Learning to use Stack

If you are learning to use Stack and have questions, a discussion at the Haskell Community forum may help. See its 'Learn' category.

Community

You can participate with the Stack community in the following areas: