mise prune
- Usage:
mise prune [FLAGS] [INSTALLED_TOOL]… - Effect: destructive — may delete or irreversibly overwrite
- Source code:
src/cli/prune.rs
Delete tool versions that nothing uses
mise records each config file it loads (in ~/.local/state/mise/tracked-configs) and each tool stub it runs (in ~/.local/state/mise/tracked-stubs). mise prune deletes installed versions that none of them selects. A config that requests node = "20" keeps only the 20.x version it resolves to. Versions installed only for mise exec <TOOL>@<VERSION> or through MISE_<TOOL>_VERSION are deleted. Versions that a running process was started from are kept, so a long-running program keeps its files.
It also forgets tracked, trusted, and ignored config files that no longer exist. Pass --tools or --configs to do only one of the two. List the versions it would delete with mise ls --prunable.
Arguments
[INSTALLED_TOOL]…— Prune only these tools
Flags
-n --dry-run— Show what would change without changing anything--configs— Only forget tracked, trusted, and ignored config files that no longer exist--dry-run-code— Like --dry-run, but exit with code 1 if there are tools to pruneUse it in scripts that check whether tools need pruning.
--tools— Only delete unused tool versions-h --help— Print help
Examples
Preview what would be deleted and why
mise prune --dry-run
mise node@20.0.0 is prunable: node is required at 20.19.5 by ~/src/app/mise.toml
mise node@20.0.0 [dryrun] remove ~/.local/share/mise/installs/node/20.0.0, ~/.cache/mise/node/20.0.0Delete unused node versions only
mise prune --tools node