Skip to content

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 prune

    Use 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.0

Delete unused node versions only

mise prune --tools node
MIT LicenseCopyright © 2026jdx.dev