nox "venv_backend='uv'" / tox-uv Backend Error in CI
By Daniel Zoghalchali·Latchkey
Selecting uv as the virtualenv backend (nox venv_backend="uv", or the tox-uv plugin) needs uv installed and a nox/tox new enough to recognize it. A missing uv binary or an old runner version makes the backend selection fail.
What this error means
A nox session or tox env fails to set up its environment with an error about an unknown/unsupported venv_backend, or uv: command not found. The same config works where uv and a recent nox/tox are installed.
nox output
nox > Error: Expected venv_backend one of ('none','virtualenv','conda','mamba','venv','uv'),
but got 'uv' - uv was not found on PATH.
Common causes
uv not installed on the runner
The uv backend shells out to the uv binary. Without uv on PATH, nox/tox cannot create the environment with that backend.
nox/tox too old or plugin missing
uv backend support was added in newer nox; tox needs the tox-uv plugin. An old version or a missing plugin does not recognize the backend.
Install uv and a recent nox/tox-uv before invoking uv-backed envs.
Pin the nox/tox (and plugin) versions that support the uv backend.
Fall back to the venv backend where uv is unavailable.
Frequently asked questions
What causes "venv_backend='uv'"?
The uv backend shells out to the uv binary. Without uv on PATH, nox/tox cannot create the environment with that backend.
How do I fix venv_backend='uv'?
Install uv (and the tox plugin) first
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.