GHCup vs vfox
GHCup
haskell.orgvfox
vfox.devSide by side
| Figure | GHCup | vfox |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Development Environment Managers | 8.5 (#7) | 8.0 (#16) |
| Configuration | GHCup configuration can be placed in ~/.ghcup/config.yaml, and command-line options override configuration file settings. | It saves tool version information in a .vfox.toml file that can be shared across projects and teams. |
| Installation | The site provides terminal installation instructions for Linux, macOS, FreeBSD, and WSL2, and PowerShell instructions for Windows. | The quick start documents Windows installation through Scoop, winget, or a setup installer, and Unix-like installation through Homebrew, package repositories, or an install script. |
| Purpose | GHCup is the main installer for the general purpose language Haskell. | vfox is a cross-platform version manager for installing and switching between development runtimes and SDKs. |
| Security | The installation instructions use HTTPS with TLS 1.2 or later for the Linux, macOS, FreeBSD, and WSL2 bootstrap command. | The multi-user guide recommends group permissions for a shared SDK directory and warns that broad 777 permissions expose it to unauthorized users. |
Plans
In their own words
GHCup
GHCup is a free, open-source installer and version manager for the Haskell toolchain. It installs and manages GHC, cabal-install, Haskell Language Server (HLS), and Stack versions; Stack can also be configured to use GHC versions managed by GHCup. Listed functionality includes a terminal user interface and GHC cross-compilation. Installation guidance covers terminal commands for Linux, macOS, FreeBSD, and WSL2, alongside PowerShell instructions for Windows. The project describes Windows support as being in an early stage and uses a shim wrapper because Windows does not properly support symbolic links. On macOS, GHCup may prompt for command line tools; Windows setup includes msys2. The installer should be run as a non-root user on Unix-like systems and a non-admin user on Windows. GHCup relies on precompiled binaries, so compatibility can depend on the distribution and libraries such as libtinfo. WSL1 and macOS versions earlier than 10.13 are unsupported. Some ARM binaries are experimental: Stack and HLS on Linux ARM, and HLS bindists on macOS aarch64. Configuration can be stored in ~/.ghcup/config.yaml, with command-line options taking precedence.
vfox
vfox is a free, Apache 2.0-licensed version manager for development runtimes and SDKs on Linux, macOS and Windows. It supports project, session and global version scopes, and can switch to a project's version when entering its directory. Teams can record tool versions in `.vfox.toml` and share that configuration. A plugin system adds support for tools and environments; its public registry includes community plugins for tools such as Bun, Clang, CMake, Crystal, Dart, Deno and .NET. Plugins that support legacy version files can read formats such as `.nvmrc`, and this capability is enabled by default. Documented shells include PowerShell, Git Bash, Bash, ZSH, Fish, CMD, Clink, Cmder and Nushell. CMD is limited to global scope and is not recommended. For Docker, CI/CD and other non-interactive shells, the documentation recommends `vfox exec` instead of shell activation hooks. The configuration guide lists support for HTTP(S) proxies only. For shared SDK storage on Linux and macOS, the guide recommends group permissions and warns against world-writable access.