docs/cli/upgrade.md
mise upgrademise upgrade [FLAGS] [INSTALLED_TOOL@VERSION]…upsrc/cli/upgrade.rsUpgrade 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
[INSTALLED_TOOL@VERSION]… — Tool(s) to upgrade
e.g.: node@20 [email protected]
If not specified, all current tools will be upgraded-b --bump — Upgrade to the latest version available, bumping the version in mise.toml
For 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 set node = "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 to node = "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 the jobs setting
Environment 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 tools
This 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 files
This 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 duration
Supports 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 --monorepo is not implemented yet.
--no-prune — Do not uninstall the versions that were upgraded away from
The 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 = false to make this the default.
--prune — Immediately uninstall the versions that were upgraded away from
Use this to bypass upgrade.prune_after, or to override
upgrade.auto_prune = false for a single run.
--raw — Connect backend install command stdin/stdout/stderr directly to the terminal. Implies --jobs=1
-h --help — Print help
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 configured tools within their current requests
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 within their current requests
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
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.