Skip to main content

uv tool uninstall

Uninstall one or more installed tools.

Usage

Description

Removes installed tools and their isolated environments. This command removes the tool’s virtual environment from the tools directory and unlinks the executables from the bin directory. Multiple tools can be uninstalled in a single command by providing multiple tool names.
This action cannot be undone. The tool and its environment will be permanently removed.

Examples

Uninstall a single tool

Uninstall multiple tools

Uninstall all tools

Uninstall with confirmation

Arguments

NAME
string
required
The name of the tool(s) to uninstall. Multiple tool names can be provided separated by spaces.
The tool name is the package name, not the executable name. Use uv tool list to see installed tool names.

Options

--all
boolean
Uninstall all tools. This removes all installed tools and their environments.
This will remove all installed tools. Use with caution.

What Gets Removed

When you uninstall a tool, uv removes:
  1. Tool Environment: The isolated virtual environment in the tools directory
  2. Executables: Symlinks/scripts from the bin directory
  3. Metadata: Tool installation metadata and configuration

Example directory changes

Before uninstalling ruff:
After uv tool uninstall ruff:

Behavior Details

Tool not found

If you try to uninstall a tool that isn’t installed, uv will report an error:

Partial failures

When uninstalling multiple tools, if some tools don’t exist, uv will:
  • Uninstall the tools that do exist
  • Report errors for tools that don’t exist
  • Exit with a non-zero status code

Dependencies

Uninstalling a tool removes only that tool and its dependencies. Other tools with shared dependencies are not affected (each tool has its own isolated environment).

Verifying Uninstallation

After uninstalling, verify the tool is removed:

Uninstalling vs. Removing Cache

Uninstalling a tool removes the tool environment but doesn’t clear the package cache:

Common Workflows

Remove and reinstall a tool

Clean up all development tools

Migrate to different version

Use uv tool install --force to replace an existing installation without explicitly uninstalling first.

Troubleshooting

Tool still appears in PATH

After uninstalling, the executable might still be found if there are multiple installations:

Permission errors

If you encounter permission errors:

Executable still exists but doesn’t work

If the executable link remains but the tool doesn’t work:

Can’t uninstall due to locked environment

If a tool is actively running, uninstallation might fail:

Bulk Operations

Uninstall tools matching a pattern

Uninstall all but specific tools

Backup tool list before uninstalling

The backup approach installs the latest versions, not the original versions. Use uv tool list --show-version-specifiers for more precise backup.

Exit Codes

  • 0: All specified tools were successfully uninstalled
  • 1: One or more tools were not found or uninstallation failed
  • 2: Invalid arguments or options provided

See Also