Skip to content

make sync fails on uv older than 0.9.25 with a TOML error pointing at the repo's own files #4476

Description

@ErenAta16

Describe the bug

make sync fails on any uv older than 0.9.25, and the error points at this repository's own files rather than at the tool version, so it reads as though the checkout is broken.

AGENTS.md and the README ask for "uv installed" without a floor, while CI pins 0.11.14 in every workflow. A contributor between those two points gets no usable signal.

Debug information

  • Agents SDK version: main at d40f5d9
  • Python version: 3.13.11 (also reproduced on 3.12.10)
  • Operating system: Windows 11
  • Does the issue reproduce with the latest release? Yes, the two files involved are unchanged.
  • Does it occur consistently or intermittently? Consistently, it is version-determined.
$ uv sync --all-extras
warning: Failed to parse `pyproject.toml` during settings discovery:
  TOML parse error at line 233, column 36
      |
  233 | exclude-newer-package = { openai = false }
      |                                    ^^^^^
  data did not match any variant of untagged enum Helper

error: Failed to parse `uv.lock`
  Caused by: TOML parse error at line 11, column 1
   |
11 | [options]
   | ^^^^^^^^^
data did not match any variant of untagged enum Helper

Neither line is malformed. exclude-newer-package and the [options] table with exclude-newer-span are both newer uv features, and an older uv reports them as invalid TOML.

Repro steps

Bisected against this checkout, running uv sync --all-extras from a clean clone:

uv 0.9.21   uv.lock parse: FAIL
uv 0.9.23   uv.lock parse: FAIL
uv 0.9.24   uv.lock parse: FAIL
uv 0.9.25   ok -> Resolved 202 packages in 2ms
uv 0.9.30   ok
uv 0.10.0   ok
uv 0.11.14  ok      <- what CI pins

So the floor is exactly 0.9.25. 0.9.24 was released about five weeks before it, so this is reachable by anyone who installed uv recently and has not updated, not only by someone on a very old version.

Expected behavior

Either of these would close it, and I have no preference:

Declare the floor so uv reports it itself. [tool.uv] required-version = ">=0.9.25" turns both errors into a message naming the installed and required versions.

Or state it in AGENTS.md and the contributing section next to the existing uv prerequisite, alongside the Python 3.10+ line that is already there.

The first is self-maintaining and fails at the right layer; the second costs nothing and is visible before the first command runs. Pinning the same version CI uses is a third option but seems heavier than the problem.

Happy to send a PR for whichever shape you prefer. Filing first because the choice is a project convention rather than a bug fix, and #4472 suggested I ask rather than guess on that kind of thing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions