How to Install Anaconda on macOS (and When to Choose It Over Miniconda)
A beginner guide to installing Anaconda Distribution on Apple Silicon macOS, plus an honest Anaconda-vs-Miniconda decision for bioinformatics work.
Anaconda Distribution is the "batteries-included" way to get Python and the conda package manager onto your Mac. In one installer you get conda, Python, the Anaconda Navigator desktop app, and 300+ pre-installed and pre-tested scientific packages (NumPy, pandas, SciPy, Matplotlib, Jupyter, and many more). Miniconda, by contrast, ships only conda plus a minimal Python and lets you add packages yourself.
This guide walks through installing Anaconda on an Apple Silicon Mac, then helps you make the more important decision: should you install Anaconda at all, or is Miniconda the better base for bioinformatics? Our short answer, explained below, is Miniconda plus one isolated environment per tool. But if you want the GUI and the pre-loaded data-science stack, here is how to install Anaconda cleanly.
Honesty note: the Anaconda install steps below are validated against Anaconda's official macOS documentation, not executed on our test machine. Our test Mac already runs Miniconda, and installing Anaconda would clobber it and cost roughly 5 GB of disk we did not want to spend. Everything about the decision and the conda workflow is grounded in real use on this machine (Apple Silicon, macOS 26.5.2, conda 25.5.1 with the libmamba solver); the specific installer commands are doc-grounded.
Anaconda vs Miniconda: the decision first
Before you download several gigabytes, understand what you are choosing between. Both give you the exact same conda command and the same access to the conda-forge and bioconda channels. The difference is what comes pre-loaded.
| Anaconda Distribution | Miniconda | |
|---|---|---|
| Download size | ~1 GB installer, ~5 GB minimum on disk | A few hundred MB |
| Pre-installed packages | 300+ (NumPy, pandas, SciPy, Jupyter, etc.) | Just conda + Python |
| Navigator GUI | Yes (Anaconda Navigator 2.7.0) | No (CLI only) |
| Best for | Learners who want a click-to-launch data-science lab | Reproducible, per-project tool environments |
base env | Large and busy from day one | Tiny and clean |
For bioinformatics specifically, we recommend Miniconda plus a dedicated environment per tool. The reason is reproducibility: when the exact samtools or gatk4 build lives inside its own environment, that environment is self-contained and independent of whatever else is on your system. A giant, pre-populated base invites version conflicts and makes it harder to say exactly which packages a pipeline needs. That is the heart of the workflow we use throughout this series.
If you have not set up a Python/conda base yet, start with the Miniconda on Apple Silicon guide. It is smaller, faster, and everything in the rest of this series assumes it. Come back here only if you specifically want Anaconda's Navigator GUI or its bundled stack.
Prerequisites
You need an Apple Silicon Mac (M1/M2/M3/M4) running a recent macOS, about 5 GB of free disk space, and a few minutes. macOS ships with zsh as the default shell, which matters for the init step later. That is all.
TL;DR: install Anaconda from the command line
The command-line installer avoids admin popups and Gatekeeper prompts. Copy-paste this block, answering the prompts as noted in the comments.
# Download the native Apple Silicon (arm64) installer
curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-2-MacOSX-arm64.sh
# Verify the download against the checksum published at repo.anaconda.com/archive
shasum -a 256 ~/Anaconda3-2025.12-2-MacOSX-arm64.sh
# Run it: press Return to page through the license, type "yes" to accept the
# Terms of Service, keep the default location, and type "yes" to run conda init
bash ~/Anaconda3-2025.12-2-MacOSX-arm64.sh
# Reload your shell so the `conda` command is on PATH
source ~/.zshrcWhen it finishes and you open a new Terminal, your prompt should begin with (base). That means conda is installed and its base environment is active.
Step by step
1. Download the right installer
Anaconda Distribution 2025.12 (installer build -2) bundles Python 3.13.9, conda 25.11.0, and Anaconda Navigator 2.7.0. On Apple Silicon you want the arm64 installer, not the Intel one:
curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-2-MacOSX-arm64.shPrefer a graphical install? Go to the Anaconda download page, choose the "64-Bit (Apple silicon) Graphical Installer" under Anaconda Distribution, double-click the .pkg, click Continue, accept the Terms of Service, keep the default /opt/anaconda3 location, and click Install.
2. Verify the download
Never run a multi-gigabyte installer without checking it downloaded intact. Compare the printed hash to the one listed next to the file at repo.anaconda.com/archive:
shasum -a 256 ~/Anaconda3-2025.12-2-MacOSX-arm64.shIf the hashes do not match, delete the file and download it again.
3. Run the installer
bash ~/Anaconda3-2025.12-2-MacOSX-arm64.shPress Return to scroll through the license, type yes to accept the Terms of Service, accept the default install location, and type yes when it offers to run conda init. That init step edits your ~/.zshrc so the conda command is available in new shells.
4. Activate conda
The installer only edits your shell startup file; it does not change your current shell. Reload it (or just open a new Terminal window):
source ~/.zshrcYou should now see (base) at the start of your prompt.
Doc-grounded step: the four commands above are taken from Anaconda's official macOS CLI install docs. We did not run them on our test machine because it already hosts Miniconda. Expect version and license text to match the 2025.12 release noted above.
Never work in base — make an isolated env per project
This is the single most important habit. Anaconda's base already carries 300+ packages; keep it clean and create a fresh environment for each project. We also pass --override-channels -c conda-forge -c bioconda, which sidesteps a Terms-of-Service gate on Anaconda's defaults channel and pulls native osx-arm64 builds instead.
# Create an isolated environment (do not install project tools into base)
conda create -y -n myproj -c conda-forge -c bioconda --override-channels python=3.12
conda activate myproj
# Install tools into that env, pinning versions for reproducibility
conda install -y -c conda-forge -c bioconda --override-channels samtools=1.21If you get tired of typing the channel flags, you can set conda-forge and bioconda as the default channels with strict priority:
conda config --add channels bioconda
conda config --add channels conda-forge
conda config --set channel_priority strictWhy --override-channels? Anaconda's bundled defaults channel now requires accepting a Terms of Service before it will solve. Pointing conda explicitly at conda-forge and bioconda avoids that gate entirely and, on Apple Silicon, gives you native arm64 packages. This is exactly the pattern the rest of this series uses. See conda environments and bioconda channels for the full explanation.
Apple Silicon note
The arm64 installer runs natively on M1/M2/M3/M4 chips — no Rosetta needed. There is an important detail for Apple Silicon users: as of August 15, 2025, Anaconda stopped building Intel-Mac (osx-64) packages on its own defaults channel, and Navigator 2.7.0 dropped osx-64 support. This is another reason to stay on conda-forge and bioconda, both of which ship native osx-arm64 builds for the vast majority of scientific and bioinformatics tools.
Occasionally a bioconda tool has no arm64 build yet. In that case, create an emulated x86_64 environment pinned to osx-64 (conda-forge and bioconda still publish osx-64 builds):
# One-time: install Apple's Rosetta 2 translation layer
softwareupdate --install-rosetta --agree-to-license
# Create an x86_64 env and lock it to osx-64 for future installs
CONDA_SUBDIR=osx-64 conda create -y -n mytool_x86 -c conda-forge -c bioconda --override-channels sometool
conda activate mytool_x86
conda config --env --set subdir osx-64Setting subdir inside the env means every later conda install in it stays x86_64, so you will not accidentally mix architectures.
Verify the install
Once conda is active, confirm the core pieces are present. These are the standard checks; on a fresh Anaconda 2025.12 install they report conda 25.11.0, Python 3.13.9 in base, and Navigator 2.7.0.
conda --version # -> conda 25.11.0
python --version # -> Python 3.13.9 (inside base)
conda env list # lists base + any envs you created
anaconda-navigator --versionFor a real smoke test, build a throwaway environment and run Python inside it. If this prints an "OK" line, your channels, solver, and env creation all work end to end:
conda create -y -n smoke -c conda-forge --override-channels python=3.12
conda run -n smoke python -c "import sys; print('anaconda env OK, python', sys.version.split()[0])"The version numbers shown as -> comments are the expected values for Anaconda Distribution 2025.12 per the official release notes — not output captured on our test machine. Your machine will print its own copy of these when you run the commands.
Common errors and fixes
| Error | Fix |
|---|---|
conda: command not found after installing | The installer only edited your rc file. Close and reopen Terminal, or run source ~/.zshrc. Still missing? Run /opt/anaconda3/bin/conda init zsh, then reopen Terminal (macOS default shell is zsh). |
CondaToSNonInteractiveError / "Terms of Service have not been accepted" for defaults | Do not use the defaults channel. Create and install with -c conda-forge -c bioconda --override-channels. Or accept once: conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main --channel https://repo.anaconda.com/pkgs/r. |
PackagesNotFoundError: package X is not available | You omitted a channel or misspelled the package. Add -c bioconda -c conda-forge, check the exact name on anaconda.org, and confirm an osx-arm64 build exists (else use the Rosetta fallback above). |
| Solving environment takes forever / hangs | Set conda config --set channel_priority strict, or use the fast libmamba solver (default in conda 25.x). You can also conda install mamba -c conda-forge and swap conda for mamba. |
(base) auto-activates in every new Terminal and slows startup | Disable it: conda config --set auto_activate_base false. Then activate manually with conda activate <env> only when you need it. |
| Ran out of disk space during install | Anaconda needs about 5 GB free. If space is tight, install Miniconda instead (a few hundred MB) and add only what you need. |
| "Anaconda3 can't be opened because Apple cannot check it for malicious software" (Gatekeeper) | Right-click the .pkg and choose Open, or allow it under System Settings > Privacy & Security. The CLI .sh installer is not affected by this prompt. |
Managing the environment
A few commands cover the whole lifecycle of an environment:
# Update everything inside the active env
conda update -y --all
# Export an exact, shareable snapshot of an env
conda env export -n myproj > myproj-environment.yml
# Recreate that env later (or on another machine)
conda env create -f myproj-environment.yml
# Remove an env completely when you are done with it
conda remove -n myproj --allThe exported environment.yml is your reproducibility record — commit it alongside your analysis so anyone (including future you) can rebuild the exact stack. A minimal one looks like this:
name: myproj
channels:
- conda-forge
- bioconda
dependencies:
- python=3.12
- samtools=1.21Next steps
- New to conda entirely? The lighter, faster starting point is the Miniconda on Apple Silicon guide — recommended for bioinformatics.
- Ready to build real tool environments? Read conda environments and bioconda channels, then install your first tool with samtools and bcftools.