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
Steps to create a Conda environment for another platform:
- Check the platform Conda normally targets on this host.
$ conda info active environment : None ##### snipped ##### platform : linux-aarch64 ##### snipped ##### - Create a new environment with the target platform.
$ 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: doneReplace 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.
- Confirm the target platform saved into the environment configuration.
$ conda config --show subdir --name linux64-tools subdir: linux-64
- Check the installed Python build inside the target-platform environment.
$ 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.
- Verify that later package operations remember the target platform.
$ 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: - pipThe command does not pass --platform. The Platform: linux-64 line confirms Conda reused the environment's stored subdir.
- List the explicit records when the solved package set will be reused on the target machine.
$ 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
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.