Quick start#

Installation#

The easiest way to install on macOS and Linux:

brew tap jezdez/conda-express https://github.com/jezdez/conda-express
brew install jezdez/conda-express/cx

Update later with brew upgrade cx.

The shell script downloads the right binary for your platform, verifies its checksum, updates your shell profile / PATH, and runs cx bootstrap — all in one step.

macOS / Linux:

curl -fsSL https://jezdez.github.io/conda-express/get-cx.sh | sh

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://jezdez.github.io/conda-express/get-cx.ps1 | iex"

Download the binary for your platform from the latest release:

Platform

File

Linux x86_64

cx-x86_64-unknown-linux-gnu

Linux ARM64

cx-aarch64-unknown-linux-gnu

macOS x86_64 (Intel)

cx-x86_64-apple-darwin

macOS ARM64 (Apple Silicon)

cx-aarch64-apple-darwin

Windows x86_64

cx-x86_64-pc-windows-msvc.exe

Each file has a matching .sha256 checksum.

After downloading, make it executable and move it to your PATH:

chmod +x cx-*
sudo mv cx-* /usr/local/bin/cx
pip install conda-express
cargo install conda-express

pixi manages the Rust toolchain from conda-forge:

git clone https://github.com/jezdez/conda-express.git
cd conda-express
pixi run build
# Binary is at target/release/cx

Bootstrap#

If you used the installer script, bootstrap has already been run for you. Otherwise, run it manually:

cx bootstrap

This takes ~3–5 seconds using the embedded lockfile. The prefix is protected with a CEP 22 frozen marker to prevent accidental modification.

Set up your PATH#

Add condabin to your shell profile so conda and cx commands are available:

export PATH="$HOME/.cx/condabin:$PATH"

Create an environment#

cx create -n myenv python=3.12 numpy pandas

Activate an environment#

cx uses conda-spawn instead of traditional conda activate. This spawns a new subshell with the environment activated — no conda init or shell profile modifications needed:

cx shell myenv

To leave the environment, exit the subshell:

exit    # or Ctrl+D

Use conda normally#

All conda commands work transparently through cx:

cx install -n myenv scipy matplotlib
cx list -n myenv
cx remove -n myenv scipy
cx env list

Auto-bootstrap#

If you skip cx bootstrap and run any conda command directly, cx will automatically bootstrap on first use:

# This bootstraps ~/.cx automatically, then runs `conda create`
cx create -n myenv python=3.12

Updating#

To update the base conda installation, re-bootstrap:

cx bootstrap --force

Note

In the future, conda self update (via conda-self) will be the canonical update command. See the design document for details.

Uninstalling#

To completely remove cx, the conda prefix, and all environments:

cx uninstall

This shows what will be removed and asks for confirmation. It also cleans up PATH entries from shell profiles. See the CLI reference for all options.