the phone-home register

uv

What uv sends out of your computer by default, when, to whom, and the switch that stops it, version by version, with how we know.

The answer

By its source at 0.11.27, not run: each request uv makes to pypi.org or the index you configure carries, in its user agent, uv's name and version and, where uv sets it, the subcommand you ran, the Python version and implementation, the distribution (on Linux its name, version and codename, with the C library where the platform names one; on macOS its version), the system's name and release, the processor architecture, and whether it looks like a CI run; uv is not a background caller, and we found no switch for these fields.

Builds and versions

not installed: source read at tag 0.11.27On by default?yes · read in codeMeasured here?no · read in codeDate checked (UTC)2026-10-10
Version
0.11.27 · the source at tag 0.11.27
Where the evidence came from
not run: the source applies to every platform
On by default?
yes · read in code: in the user agent of every request to a package index
Measured here?
no · read in code
Date checked (UTC)
2026-10-10
Why we say so
crates/uv-client/src/linehaul.rs and crates/uv-client/src/base_client.rs read at tag 0.11.27

Each call out

user agent fields · 0.11.27

Version · build
0.11.27 · the source at tag 0.11.27 · not run: the source applies to every platform · not installed: source read at tag 0.11.27
Sends by default
yes · read in code: in the user agent of every request to a package index
Kind
reports
Trigger
only when you ask for it
When
Read in code at 0.11.27: inside the user agent of each request uv makes to PyPI or the index you configure; uv is not a background caller.
Where
package index · pypi.org
What it sends
the installer's name (uv) and version, and, where uv sets it, the subcommand you ran (software); the Python version and implementation (software); the distribution: on Linux its name, version and codename, with the C library and its version where the platform names one; on macOS its version (system); the system's name and release, and the processor architecture (system); whether it looks like a CI run (one of four CI environment variables is set) (system)
The vendor's stated purpose
“This metadata is added to the user agent to enrich PyPI statistics.” — the code comment on uv's LineHaul type in crates/uv-client/src/linehaul.rs at tag 0.11.27 (quoted whole), read 2026-10-10
Grade and method
read · crates/uv-client/src/linehaul.rs and crates/uv-client/src/base_client.rs read at tag 0.11.27 · read 2026-10-10
Receipts
the user agent's fields as uv fills them (the OpenSSL, setuptools and rustc fields are left empty) · the fields added to the user agent of uv's HTTP client

The switch

No switch found.

Listens beyond the machine, and other cloud features

Listens beyond the machine by default

  • n/a · a command-line tool (0.11.27 the source at tag 0.11.27)

Other cloud features

None found.

What it leaves on disk

Nothing we know of.

Brings in, and installed for you by

None on the register.

Credit

None recorded.

Vendor documents it? · public discussion

Vendor documents it?

  • user agent fields · 0.11.27: none found · None found: uv's documentation at tag 0.11.27 (its 80 pages and its README, searched for 'linehaul', 'user agent' and 'user-agent' on 2026-10-10) does not describe these fields; a code comment in linehaul.rs states their purpose. · github.com · docs · read 2026-10-10

Public discussion

History

No dated changes yet.

Not yet checked

Nothing named.