uv pip list: List Installed Packages
uv pip list prints the packages installed in the active environment along with their versions.
uv pip list is the uv counterpart of pip list. It is the quick way to confirm what a job actually installed before running tests.
What it does
uv pip list enumerates the distributions installed in the target environment with their versions. --outdated annotates which have newer releases, and --format json produces machine-readable output for a CI step to parse.
Common usage
uv pip list
uv pip list --outdated
uv pip list --format json
uv pip list --python .venv/bin/pythonOptions
| Flag | What it does |
|---|---|
| --outdated | Show packages with newer versions available |
| --format <fmt> | Output format: columns, freeze, or json |
| --editable | List only editable installs |
| --python <path> | Inspect a specific interpreter or venv |
| --exclude <pkg> | Omit a package from the listing |
In CI
Use --format json and pipe to jq when a job needs to assert that a specific version is installed. --outdated requires network access to query the index, so it fails in fully air-gapped runners. For a pinned snapshot you can diff against the lockfile, prefer uv export.
Common errors in CI
"error: No virtual environment found" means there is no active venv and none was passed; activate it or use --python. "Failed to fetch ... index" with --outdated means no egress to PyPI. An empty list usually means uv targeted the system interpreter, not the project venv; pass --python .venv/bin/python.