# Miniforge: a conda-forge-only conda and mamba installer

> Miniforge ships minimal installers for conda and mamba with the conda-forge channel as the only default channel. It is aimed at users who want conda-forge packages without Anaconda's defaults channel, and it supports x86_64, ppc64le and aarch64 including Apple Silicon.

**conda-forge/miniforge** — A conda-forge distribution.

- Repository: https://github.com/conda-forge/miniforge
- Website: https://conda-forge.org/download
- Stars: 10,224 · Forks: 533
- Language: Shell
- License: NOASSERTION
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/conda-forge-miniforge

## The problem Miniforge solves: conda without the defaults channel

Conda is an environment and package manager. The channel configuration decides where packages come from, and the standard conda distribution points at Anaconda's defaults channel. Miniforge is a set of minimal installers that ship conda and mamba with the conda-forge channel pre-configured as the default and only channel.

The README states this directly: packages in the base environment are obtained from conda-forge, and conda-forge is set as the default and only channel. That single configuration choice is the whole product. Anyone who has spent time debugging a mixed-channel environment, where the same package resolves differently depending on which channel wins, will recognize the problem.

The audience is narrow and clear. It is for people who already intend to use conda-forge packages and do not want to remove or override a defaults channel afterwards. It is also for people on architectures that conda-forge builds for, since the project puts an emphasis on supporting x86_64, ppc64le and aarch64 including Apple Silicon.

The README is unusually modest about scope. It says the goal of the installer is to provide an entry point to the conda and mamba commands, and that if those two commands execute correctly, the installer has achieved its goal. Package problems belong to the relevant feedstock, not to this repository.

## How Miniforge works: installers, base environment, channel config

There is no daemon and no service. Miniforge is a build and packaging repository: the top level holds build_miniforge.sh, build_miniforge_osx.sh and build_miniforge_win.sh, a Miniforge3/ directory, a docs/ directory and a scripts/ directory. Those scripts produce the platform installers, and the installers unpack a base environment that already contains conda and mamba.

The data flow after installation is ordinary conda. The base environment has its own Python, and the README notes the current installers carry Python 3.14, with the caveat that this version is specific only to the base environment. Conda can create new environments with different Python versions and implementations, so the base interpreter is not a ceiling on what you can install.

Channel configuration is what distinguishes it. Because conda-forge is the only channel, environment solves resolve against conda-forge metadata by default. The README also points to the conda-forge website as the way to find the feedstock associated with a package, which is where package-level bugs should go.

On Windows, the installer's default choices keep conda and mamba reachable through the Miniforge Prompt rather than a general terminal. That is a deliberate default, and the README explains the reasoning: adding Miniforge3 to PATH is not selected by default because of the potential for serious conflicts with other software.

## Installing Miniforge on Linux, macOS and Windows

The README lists one installer per OS and architecture. On Linux these are shell scripts such as Miniforge3-Linux-x86_64.sh, Miniforge3-Linux-aarch64.sh, Miniforge3-Linux-ppc64le.sh and Miniforge3-Linux-riscv64.sh. On macOS the files are Miniforge3-MacOSX-x86_64.{sh,pkg} and Miniforge3-MacOSX-arm64.{sh,pkg}. On Windows it is Miniforge3-Windows-x86_64.exe. Minimum versions are stated per platform: glibc >= 2.17 on Linux except riscv64, which needs glibc >= 2.29, macOS >= 11.0, and Windows >= 10.

After running the installer, conda and mamba should work in a terminal. If you installed on Unix with the non-interactive option, or you are on Windows and want the commands outside the Miniforge Prompt, initialize the shell. On Windows, run this inside the Miniforge Prompt:

```sh
conda init
```

On Unix with a non-interactive install, the README gives the full-path form:

```sh
~/miniforge3/bin/conda init
```

The README also notes you can instead add C:\Users\myusername\miniforge3\condabin\ to PATH manually on Windows.

By default, once conda is initialized, the base environment is activated, so python refers to the base Python and conda install writes into base. The README calls it cleaner to turn that off:

```sh
conda config --set auto_activate_base false
```

Then create a project environment with the packages you need. This example is taken from the README:

```sh
conda create --name my_project jupyterlab numpy pandas
conda activate my_project
jupyter lab
```

One more README example matters if you want an older Python in a project. Even though current installers carry Python 3.14 in base, you can request another version in a new environment:

```sh
conda create --name my_project python=3.13
```

## Platform limits and the experimental builds

The support matrix has real edges. Apple Silicon and Linux RISC-V builds are marked experimental and, in the README's words, have not had testing like the other platforms. Treating either as production-grade is a mistake.

Raspberry Pi users hit a second constraint. On a Pi with a 64-bit processor you must also run a 64-bit operating system such as Raspberry Pi OS 64-bit or Ubuntu for Raspberry Pi. Installations listed as "System: 32-bit" are not compatible with these installers.

Windows carries the most caveats. The installer requires Windows 10 or later, and the README admits the project is unsure exactly which version of Windows 10 qualifies, with an open request for user help on the backlog. The README also links known issues about special characters and spaces in the installation location. If your user path contains a space or a non-ASCII character, that is a documented risk area rather than a hypothetical one.

There is also a scope boundary worth stating plainly. Miniforge does not fix package problems. The README tells users to report those to the associated feedstock and points at the conda-forge website to find it. If your issue is a broken build of a specific library, this repository is the wrong place to file it.

## Miniforge compared with Miniconda and Anaconda

The comparison is about channel defaults, not about the package manager. Miniconda and Anaconda install conda with Anaconda's defaults channel in the configuration. Miniforge installs conda and mamba with conda-forge as the default and only channel.

That difference propagates. With Miniforge, a fresh solve consults conda-forge unless you deliberately add another channel. With a defaults-based install, the same command may resolve to a different build, and mixed-channel environments are a common source of confusing dependency conflicts. Miniforge removes that class of problem by removing the choice.

The trade-off is the mirror image. If you depend on packages that are only distributed through the defaults channel, Miniforge's default configuration does not serve them, and you would be adding channels back, which defeats the point. Anaconda also ships a much larger set of preinstalled packages and tooling, while Miniforge's stated goal is only that conda and mamba run. If you want a batteries-included distribution rather than a package manager, Miniforge is not that.

Mamba is the other differentiator. Miniforge ships both conda and mamba as entry points, so you can use the faster solver without a separate installation step.

## Releases, licence status and upgrade cost

The repository is not archived, and the last push was on 2026-09-19. Recent releases are 26.7.2-0 on 2026-09-08, 26.5.3-0 on 2026-08-15 and 26.3.2-3 on 2026-06-01. The cadence is roughly every few weeks to a couple of months, so pinning an installer for a long-lived image means you will be behind within a quarter.

The upgrade path is not an in-place package upgrade of the installer. The versioned installers live on the releases page, and one documented reason to care is the base interpreter: the base environment switched from Python 3.13 to Python 3.14 in version 26.5.3-0, and the last release with Python 3.13 in base is 26.3.2-3. The README argues you usually do not need an older installer, because the base Python version does not limit the versions you can install elsewhere. That is a fair argument, but it means the practical upgrade cost is mostly the cost of recreating or migrating existing environments if you replace the installation, and the README does not document an in-place upgrade procedure for the installer itself.

On licensing, the repository's LICENSE file is present at the top level, but the metadata classifies the licence as NOASSERTION, meaning the repository does not declare a standard SPDX identifier that the tooling recognizes. Conda-forge packages carry their own licences, and Miniforge bundles conda and mamba, which are separate projects with their own terms. Read the LICENSE file and the licences of the bundled components before redistributing an installer inside a commercial product. This is a description of what the repository declares, not legal advice.

## Conclusion

Adopt Miniforge if you want conda and mamba with conda-forge as the only default channel, and you are on a supported architecture. Skip it if you need the defaults channel or a graphical installer. Before any migration, check which channel your existing environments pull from, because Miniforge changes the default and does not rewrite environments you already have.

## FAQ

### What is Miniforge used for?

It provides minimal installers for conda and mamba with the conda-forge channel pre-configured as the default and only channel. Its stated goal is to give you an entry point to the conda and mamba commands.

### Is Miniforge better than Miniconda?

It depends on which channel you want. Miniforge sets conda-forge as the default and only channel, while the README frames the difference in terms of that pre-configuration rather than claiming a general advantage. If you rely on packages only available from the defaults channel, Miniforge's default configuration does not serve them.

### Does Miniforge include Python?

Yes. The current installers carry Python 3.14 in the base environment, and the README notes that this version is specific only to the base environment. Conda can create new environments with different Python versions and implementations.

### How do I install Miniforge on Windows?

Download and execute Miniforge3-Windows-x86_64.exe from the releases page and follow the prompts. The README says the most convenient and tested way to use conda and mamba afterwards is through the Miniforge Prompt installed to the start menu.

### How do I install Miniforge on Linux?

Download the shell installer for your architecture, such as Miniforge3-Linux-x86_64.sh, and run it. Linux requires glibc >= 2.17, except riscv64, which requires glibc >= 2.29.

### How do I use Miniforge on macOS?

Download Miniforge3-MacOSX-x86_64.{sh,pkg} or Miniforge3-MacOSX-arm64.{sh,pkg} depending on your machine; macOS >= 11.0 is required. After installation, conda and mamba should be usable in a terminal, and the README notes the Apple Silicon build is experimental.

## Sources

- [conda-forge/miniforge on GitHub](https://github.com/conda-forge/miniforge)
- [Issues](https://github.com/conda-forge/miniforge/issues)
- [Project website](https://conda-forge.org/download)
- [README](https://github.com/conda-forge/miniforge/blob/main/README.md)
- [Releases](https://github.com/conda-forge/miniforge/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/conda-forge-miniforge
