Files
uv/crates/uv-shell
samypr100 339e97baa0 Broadcast WM_SETTINGCHANGE on uv tool update-shell (#17404)
## Summary

Closes https://github.com/astral-sh/uv/issues/17331

Certain applications on windows expect to be notified when environment
variables change such as conhost.exe (traditional cmd.exe host).
Without this notification conhost.exe will not pick up changes to
environment variables regardless of how many times conhost.exe is
re-launched after running `uv tool update-shell`.

## Test Plan

Before this change

1. Removed `%USERPROFILE%\.local\bin` from environment variables via UI
(which sends `WM_SETTINGCHANGE`)
2. Launched `%SYSTEMROOT%\System32\conhost.exe` and attempted to run any
tool preivously installed. It fails to find any.
3. Ran `uv tool update-shell`. Confirmed
`HKEY_CURRENT_USER\Environment\Path` was updated in registry.
4. Launched new `%SYSTEMROOT%\System32\conhost.exe` session. **Fails to
find installed tools**.

After this change

1. Removed `%USERPROFILE%\.local\bin` from environment variables via UI
(which sends `WM_SETTINGCHANGE`)
2. Launched `%SYSTEMROOT%\System32\conhost.exe` and attempted to run any
tool preivously installed. It fails to find any.
3. Ran `uv tool update-shell`. Confirmed
`HKEY_CURRENT_USER\Environment\Path` was updated in registry.
4. Launched new `%SYSTEMROOT%\System32\conhost.exe` session. **Finds the
installed tools**.
2026-01-11 09:10:02 -05:00
..
2026-01-09 22:09:11 +00:00
2026-01-09 22:09:11 +00:00

uv-shell

This crate is an internal component of uv. The Rust API exposed here is unstable and will have frequent breaking changes.

This version (0.0.13) is a component of uv 0.9.24. The source can be found here.

See uv's crate versioning policy for details on versioning.