mise upgrade
- Usage:
mise upgrade [FLAGS] [INSTALLED_TOOL@VERSION]… - Aliases:
up - Effect: modifies state
- Source code:
src/cli/upgrade.rs
Upgrade outdated tools
By default, this keeps the range specified in mise.toml: with node@20 set, it upgrades to the latest 20.x.x available. Use --bump to upgrade to the latest version overall and rewrite the version in mise.toml.
This also updates mise.lock if lockfiles are enabled, see https://mise.jdx.dev/configuration/settings.html#lockfile
Arguments
[INSTALLED_TOOL@VERSION]…— Tool(s) to upgrade e.g.: node@20 python@3.10 If not specified, all current tools will be upgraded
Flags
-b --bump— Upgrade to the latest version available, bumping the version in mise.tomlFor example, if you have
node = "20.0.0"in your mise.toml but 22.1.0 is the latest available, this will install 22.1.0 and setnode = "22.1.0"in your config.It keeps the same precision as what was there before, so if you instead had
node = "20", it would change your config tonode = "22".-i --interactive— Choose which tools to upgrade from a multiselect menu-j --jobs <JOBS>— Number of jobs to run in parallel Values below 1 are treated as 1 Defaults to thejobssettingEnvironment Variable:
MISE_JOBS-n --dry-run— Print what would be done without doing it-x --exclude <INSTALLED_TOOL>— Tool(s) to exclude from upgrading e.g.: go python--dry-run-code— Like --dry-run but exits with code 1 if there are outdated toolsThis is useful for scripts to check if tools need to be upgraded.
--inactive— Upgrade all tools, including installed-but-inactive tools not present in the current config--local— Only upgrade tools defined in local config filesThis will only upgrade tools that are defined in project-local mise.toml and will skip tools defined in the global config (~/.config/mise/config.toml).
--minimum-release-age <MINIMUM_RELEASE_AGE>— Only upgrade to versions released before this date or older than this durationSupports absolute dates like "2024-06-01" and relative durations like "90d" or "1y". This can be useful for reproducibility or security purposes.
This only affects fuzzy version matches like "20" or "latest". Explicitly pinned versions like "22.5.0" are not filtered.
--monorepo— Placeholder for future monorepo upgrades;mise upgrade --monorepois not implemented yet.--no-prune— Do not uninstall the versions that were upgraded away fromThe old version is left in place and is not scheduled for removal. Use this when something outside mise points at the install directory.
Set
upgrade.auto_prune = falseto make this the default.--prune— Immediately uninstall the versions that were upgraded away fromUse this to bypass
upgrade.prune_after, or to overrideupgrade.auto_prune = falsefor a single run.--raw— Connect backend install command stdin/stdout/stderr directly to the terminal. Implies--jobs=1-h --help— Print help
Deprecation:
The -l shorthand for --bump is deprecated and will be removed in mise 2027.8.5. After removal, -l will become shorthand for --local. Use -b or --bump instead.
Examples:
# Upgrades node to the latest version matching the range in mise.toml
$ mise upgrade node
# Upgrades node to the latest version and bumps the version in mise.toml
$ mise upgrade node --bump
# Upgrades all tools to the latest versions
$ mise upgrade
# Upgrades all tools to the latest versions and bumps the version in mise.toml
$ mise upgrade --bump
# Just print what would be done, don't actually do it
$ mise upgrade --dry-run
# Upgrades node and python to the latest versions
$ mise upgrade node python
# Upgrade all tools except go
$ mise upgrade --exclude go
# Show a multiselect menu to choose which tools to upgrade
$ mise upgrade --interactive
# Only upgrade tools defined in local mise.toml, not global ones
$ mise upgrade --local