
mise
Polyglot dev environment manager — one Rust tool replacing asdf, nvm, and pyenv.
About
mise (mise-en-place, formerly rtx) is a polyglot tool version manager and dev environment manager written in Rust. It replaces asdf, nvm, pyenv, rbenv, gvm, and direnv with a single fast binary: declare tool versions in mise.toml and the right versions activate automatically as you move between project directories.
Beyond version management, mise handles per-project environment variables and doubles as a task runner (mise run), which has driven teams to replace Makefiles with it entirely. With 23k+ GitHub stars, MIT license, and compatibility with existing asdf .tool-versions files and plugins, it has become the default recommendation for new-machine setup and reproducible dev environments.
Limitations: the task-runner features overlap with dedicated tools like Just and can complicate very complex build graphs; Windows support is newer than macOS/Linux; and teams heavily invested in Nix or Devbox may find less reason to switch.
What it can do
- Polyglot version management (Node, Python, Go, Rust, Java, 100+ runtimes)
- Per-directory automatic version switching
- Environment variable management
- Built-in task runner
- asdf plugin and .tool-versions compatibility
Setup
brew install mise (or the install script); add the activation line to your shell rc; declare tools in mise.toml and run mise install.
Prerequisites
A Unix-like shell (macOS, Linux, or WSL); projects with versioned toolchains.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 67; Trending score 83/100 from researcher assessment.
★ 23,000 GitHub stars
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.