#1536·clearml

Hydra overrides are not applied if using uv as the package manager

Author: Anjum48Created Feb 24, 2026Updated Sep 22, 2026
Labelsbug

Describe the bug

In the following workflow:

  • Run a task locally
  • Clone in the UI
  • Change a configuration under Configuration > OmegaConf
  • Set _allow_omegaconf_edit_ = True under Configuration > Hydra
  • Enqueue

I seem to be getting different results between pip and uv.

With pip, the parameters are successfully overridden. With uv, they fall back to whatever was in the original config.yaml.

To reproduce

Clone this repo: https://github.com/Anjum48/uv-hydra-testing

In the main branch, create a pip venv, and run entrypoint.py:

bash
python -m venv .venv_pip
.\.venv_pip\Scripts\Activate.ps1
pip install -r .\requirements.txt
python .\entrypoint.py

Then override the run_name parameter (e.g. this is from pip) as described above. You will see this in the console after enqueuing:

Hello, Hydra and ClearML!
{'run': {'timestamp': '${now:%Y%m%d-%H%M%S}', 'run_name': 'this is from pip'}}

Now in the uv-testing branch, create a uv venv and repeat:

uv venv
.\.venv\Scripts\Activate.ps1
uv pip install -r .\requirements.txt
python .\entrypoint.py

Then override the run_name parameter (e.g. this is from uv) as described above. You will see this in the console:

Hello, Hydra and ClearML!
{'run': {'timestamp': '${now:%Y%m%d-%H%M%S}', 'run_name': 'Default_Run_Name'}}

Expected behaviour

What is the expected behaviour? What should've happened but didn't?

In the final step we should have seen:

Hello, Hydra and ClearML!
{'run': {'timestamp': '${now:%Y%m%d-%H%M%S}', 'run_name': 'this is from uv'}}

What actually happened is that it defaulted to config\config.yaml

Environment

  • Server type: self hosted
  • ClearML SDK Version: 2.1.3
  • ClearML Server Version: WebApp: 2.3.0-705 • Server: 2.3.0-705 • API: 2.34
  • OS: Windows local, Linux server

Related Discussion

If this continues a slack thread, please provide a link to the original slack thread.