A platform-targeted Conda environment keeps package resolution aligned with the machine that will run the project, not the machine where the solve is performed. On Apple Silicon, ARM Linux, CI builders, or packaging workstations, the native platform may differ from the target architecture, and an ordinary environment can resolve the wrong package builds.
conda create --platform writes a target subdir such as linux-64, osx-64, or win-64 into the new environment's configuration. Conda uses that stored subdir for later package operations against the same environment, so follow-up installs solve against the target platform without passing --platform again.
Use this only when the target binaries make sense for the host or when the environment is being prepared for export, lockfiles, emulation, or another machine. Conda warns that cross-OS targets can fail outside dry-run workflows because virtual packages, filesystem behavior, and executable formats may not match the host.
Related: How to create a Conda environment
Related: How to export an explicit Conda environment spec
Related: How to enable conda-forge in Conda
$ conda info
active environment : None
##### snipped #####
platform : linux-aarch64
##### snipped #####
$ conda create --name linux64-tools --platform linux-64 --override-channels --channel conda-forge python=3.12 --yes
Channels:
- conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/conda/envs/linux64-tools
added / updated specs:
- python=3.12
The following NEW packages will be INSTALLED:
python conda-forge/linux-64::python-3.12.13-hd63d673_0_cpython
##### snipped #####
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Replace linux-64 with the target Conda platform, such as osx-64 for Intel macOS packages or win-64 for 64-bit Windows packages. The --platform flag applies only when the environment is created.
$ conda config --show subdir --name linux64-tools subdir: linux-64
$ conda list --name linux64-tools python # packages in environment at /opt/conda/envs/linux64-tools: # # Name Version Build Channel python 3.12.13 hd63d673_0_cpython conda-forge
Package records show the resolved build, but running target-platform binaries still depends on host support or emulation.
$ conda install --name linux64-tools --dry-run --override-channels --channel conda-forge pip
Channels:
- conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
DryRunExit: Dry run. Exiting.
## Package Plan ##
environment location: /opt/conda/envs/linux64-tools
added / updated specs:
- pip
The command does not pass --platform. The Platform: linux-64 line confirms Conda reused the environment's stored subdir.
$ conda list --explicit --name linux64-tools # This file may be used to create an environment using: # $ conda create --name <env> --file <this file> # platform: linux-64 # created-by: conda 26.3.2 @EXPLICIT https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda ##### snipped ##### https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda