DevOps — Tool Version Management (mise)

DevOps — Tool Version Management (mise)

What is mise?

mise (formerly asdf-plugin-manager) is a fast, cross-platform tool version manager. It replaces asdf, nvm, rbenv, pyenv, and similar per-language version managers with a single unified tool. Configure tools per-project via mise.toml.


Core Commands

CommandDescription
mise use <tool>@<version>Most used. Installs tool and adds to local mise.toml (e.g. mise use node@20)
mise use -g <tool>@<version>Installs tool globally (~/.config/mise/config.toml)
mise install [tool@version]Installs tools defined in mise.toml or a specific version
mise lsLists all currently installed/active tools
mise ls-remote <tool>Lists available versions of a tool
mise exec <tool>@ver -- <cmd>Runs command using specific tool version without modifying config
mise run <task>Runs a defined task from mise.toml
mise outdatedChecks for newer versions of installed tools
mise link <path>Symlinks a tool installed elsewhere into mise
mise --versionChecks installed version of mise

Common Options

FlagMeaning
-f, --forceForce reinstall
-y, --yesAnswer yes to all prompts
-p, --pathSpecify a config file path

Key Concepts

  • mise.toml — per-project config file; checked into the repo; defines which tool versions are active in this directory
  • ~/.config/mise/config.toml — global config; applies everywhere unless overridden by a local mise.toml
  • Activation — mise hooks into your shell to auto-switch tool versions when you cd into a project
  • Tasks — mise supports task runners (mise run <task>) as a lightweight alternative to Makefiles

Common Workflow

1
2
3
4
5
6
7
8
9
10
11
12
13
# Initial project setup
mise use node@20          # installs node@20 and writes to mise.toml
mise use python@3.12      # adds python to the same project config
git add mise.toml         # commit the config so team members get same versions

# Team member onboarding
mise install              # reads mise.toml and installs all declared tools

# Check what's installed
mise ls

# Update a tool
mise use node@22          # updates mise.toml to node@22

See Also

Trending Tags