| created | "2025-12-16T00:00:00.000Z" |
| modified | "2026-05-09T00:00:00.000Z" |
| reviewed | "2026-04-25T00:00:00.000Z" |
| name | uv-tool-management |
| description | Install and manage global Python CLI tools with uv (pipx alternative). Use when the user mentions uv tool, uvx, installing CLI tools globally, or pipx replacement. |
| user-invocable | false |
| allowed-tools | Bash, Read, Grep, Glob |
UV Tool Management
Quick reference for installing and managing global Python tools with UV (pipx alternative).
When to Use This Skill
| Use this skill when... | Use a focused sibling instead when... |
|---|
Installing a global CLI tool (ruff, black, ipython) with uv tool install as a pipx replacement | Running a project script inside its venv — use uv-run |
Running a one-off CLI invocation via uvx tool without installing | Adding the tool as a project dev dependency — use uv-project-management |
| Listing, upgrading, or uninstalling globally installed tools | Pinning the Python version a tool runs on — use uv-python-versions |
When This Skill Applies
- Installing command-line tools globally (like pipx)
- Managing tool installations and updates
- Running tools ephemerally without installation
- Listing and removing installed tools
- Tool version management
Quick Reference
Installing Tools
uv tool install ruff
uv tool install black
uv tool install pytest
uv tool install ruff@0.1.0
uv tool install 'pytest>=7.0'
uv tool install git+https://github.com/astral-sh/ruff
uv tool install 'mkdocs[i18n]'
uv tool install 'fastapi[all]'
Running Tools
uvx pycowsay "hello world"
uvx ruff check .
uvx black --check .
uv tool run pycowsay "hello world"
uvx ruff@0.1.0 check .
uvx git+https://github.com/user/tool script.py
Managing Tools
uv tool list
uv tool install ruff --reinstall
uv tool upgrade ruff
uv tool uninstall ruff
uv tool uninstall --all
Tool Information
ruff --version
uv tool list --verbose
which ruff
uvx vs uv tool run
These commands are equivalent:
uvx ruff check .
uv tool run ruff check .
uvx is a convenient shorthand for ephemeral tool execution.
Installation Locations
Tools Directory
~/.local/share/uv/tools/
~/Library/Application Support/uv/tools/
%LOCALAPPDATA%\uv\tools\
Binaries (Executables)
~/.local/bin/
~/Library/Application Support/uv/bin/
%LOCALAPPDATA%\uv\bin\
Add to PATH:
export PATH="$HOME/.local/bin:$PATH"
Common Tools
uv tool install ruff
uv tool install black
uv tool install ty
uv tool install mkdocs
uv tool install sphinx
uv tool install pytest
uv tool install tox
uv tool install build
uv tool install twine
uv tool install httpie
uv tool install pipx
uv tool install cookiecutter
UV Tool vs Project Dependencies
Use uv tool for:
- Command-line applications
- Global development tools
- Utilities used across projects
Use uv add for:
- Project-specific dependencies
- Libraries imported in code
- Development dependencies in specific projects
uv tool install ruff
uv add --dev ruff
Tool Isolation
Each tool gets its own virtual environment:
~/.local/share/uv/tools/
├── ruff/
├── black/
└── pytest/
Common Workflows
Setup Development Tools
uv tool install ruff
uv tool install ty
uv tool install pytest
uv tool install ipython
ruff check .
ty check src/
pytest
ipython
One-Off Tool Usage
uvx pycowsay "Temporary tool!"
uvx httpie https://api.github.com
Replace pipx
pipx install black
pipx run pycowsay "hello"
uv tool install black
uvx pycowsay "hello"
Key Features
- Fast: 10-100x faster than pipx
- Isolated: Each tool in separate environment
- Ephemeral: Run tools without installation
- Version control: Pin tool versions
- Git support: Install from repositories
See Also
uv-project-management - Project-specific dependencies
uv-python-versions - Python versions for tools
python-code-quality - Using ruff, ty, black
References