rjgoyln opened a new pull request, #72059: URL: https://github.com/apache/airflow/pull/72059
## Summary `uv tool list` omits a tool whose environment has been corrupted, so a leftover `uv tool install` of breeze stays invisible to the legacy-install check in `scripts/tools/setup_breeze` while still owning `~/.local/bin/breeze`. Setup stops on the generic "already exists and is not the breeze shim managed by this script" message, which tells the user to inspect the file themselves and never names `uv tool uninstall apache-airflow-breeze`, the step that actually clears it. Following that step by hand does not finish the migration either. uv has lost the metadata recording the entry point by then and cannot retract it, so the symlink survives and dangles. `-e` and `-f` both follow symlinks and see nothing, and the next run writes through the dead link into a directory that is no longer there. Setup now falls back to `uv tool dir` when the listing comes back empty, and clears a dangling breeze symlink before installing the shim. Clearing is limited to links pointing into uv's own tool directory, so a broken symlink belonging to the user is still reported rather than deleted. `breeze` gained the same fallback, since its legacy-install warning went quiet in precisely the case it exists for. ## Tests Each new test was confirmed to fail against the current script before the fix, reproducing both dead ends: the misleading refusal and, where no entry point remains, a silent overwrite of the legacy install. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5) Generated-by: Claude Code (Opus 5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
