conda-global#

Install CLI tools into isolated conda environments and make them available on PATH via trampolines — no activation needed.

conda-global brings the same ideas pioneered by pixi global and pipx into the conda CLI. It covers the entire conda package ecosystem: Python, R, Rust, C/C++, and anything else conda can install.

Install#

conda install -c conda-forge conda-global

Then add the global binary directory to your PATH:

conda global ensurepath

A standalone cg alias is also available — cg install ruff is equivalent to conda global install ruff.

Quick example#

Install ruff, use it, list tools, and show dependency tree

$ conda global install ruff
  Installing tool ruff...
  Installed tool ruff
  Commands now available:
    ruff     ~/.cg/bin/ruff

$ ruff --version
ruff 0.11.6

$ conda global list
Tool   Dependencies   Channel       Exposed   Pinned
ruff   ruff           conda-forge   ruff

How it works#

Each tool gets its own isolated conda environment. A small Rust trampoline binary reads a JSON config, sets up the environment variables, and launches the real binary — with zero activation overhead.

~/.cg/
├── bin/
│   ├── ruff              ← trampoline (hardlink)
│   ├── gh                ← trampoline (hardlink)
│   └── trampoline/
│       ├── _cg_trampoline  ← master binary
│       ├── ruff.json       ← config for ruff
│       └── gh.json         ← config for gh
├── envs/
│   ├── ruff/             ← isolated env
│   │   ├── bin/ruff        ← real binary
│   │   └── conda-meta/
│   └── gh/               ← isolated env
│       ├── bin/gh          ← real binary
│       └── conda-meta/
└── global.toml           ← manifest

Why conda-global?#

Any conda package

Install tools from any channel — conda-forge, bioconda, nvidia, or your own. Not limited to Python packages.

Zero overhead

Rust trampolines launch tools directly via execvp on Unix or CreateProcess on Windows. No shell activation, no startup delay.

Full isolation

Each tool lives in its own conda environment. No dependency conflicts between tools, ever.

Portable manifest

Share global.toml across machines. Run conda global sync to reconcile.