Mise — Dev Environment Manager for Any Language
Single tool to manage Node, Python, Go, Rust, Java, and 100+ dev tool versions. Replaces nvm, pyenv, rbenv with one CLI. Project-level version pinning via .mise.toml. 12,000+ stars.
What it is
Mise is a development environment manager that handles version management for Node, Python, Go, Rust, Java, and 100+ other tools through a single CLI. It replaces the collection of version managers (nvm, pyenv, rbenv, sdkman) that developers typically install and maintain separately.
Mise uses a .mise.toml file for project-level version pinning. When you cd into a project directory, Mise automatically activates the correct versions of all tools. It also supports .tool-versions (asdf format) and .node-version files for backward compatibility.
How it saves time or tokens
Mise eliminates the overhead of installing and configuring multiple version managers. Instead of learning the syntax for nvm, pyenv, and rbenv separately, you use one consistent CLI. Switching between projects with different Node and Python versions is automatic.
The estimated token cost for a typical Mise configuration is around 2,600 tokens. This small upfront investment pays off by preventing version mismatch bugs and onboarding delays.
How to use
- Install Mise:
curl https://mise.run | sh
- Install tools and pin versions:
mise use node@20
mise use python@3.12
mise use go@1.22
- This creates a
.mise.tomlin your project:
[tools]
node = "20"
python = "3.12"
go = "1.22"
Example
A full-stack project with multiple tools:
# .mise.toml
[tools]
node = "20.12"
python = "3.12"
go = "1.22"
rust = "1.77"
java = "21"
[env]
DATABASE_URL = "postgres://localhost/myapp"
[tasks.dev]
run = "npm run dev"
description = "Start development server"
[tasks.test]
run = "npm test && go test ./..."
description = "Run all tests"
Mise also manages environment variables and custom tasks, replacing both version managers and simple task runners.
Related on TokRepo
- AI tools for coding -- Development tools and environment management
- Automation tools -- Tools for automating development workflows
Common pitfalls
- Forgetting to activate Mise in your shell. Add
eval "$(mise activate zsh)"(or bash/fish) to your shell profile. Without activation, version switching does not happen automatically. - Conflicting with existing version managers. If nvm and Mise both manage Node, they may fight over PATH priority. Remove or disable nvm before switching to Mise.
- Not committing
.mise.tomlto the repository. The file should be version-controlled so all team members use the same tool versions. Addmise trustin your onboarding docs.
Frequently Asked Questions
Mise is a rewrite of asdf concepts in Rust. It is faster (10-100x for many operations), supports .mise.toml configuration, includes built-in environment variable management and task running, and does not require shell function installation for basic usage.
Yes. Mise is compatible with asdf plugins. Any asdf plugin works with Mise. Additionally, Mise has its own core plugins for common tools (Node, Python, Go) that are faster than the asdf equivalents.
Yes. Mise supports an [env] section in .mise.toml for project-specific environment variables. Variables are loaded when you enter the project directory and unloaded when you leave. This replaces tools like direnv for many use cases.
Mise has experimental Windows support. It works best on macOS and Linux. On Windows, consider using WSL2 where Mise runs natively in the Linux environment.
Install Mise, then run 'mise use node@<version>' and 'mise use python@<version>' to pin your current versions. Mise reads .node-version and .python-version files for backward compatibility. Once confirmed working, remove nvm/pyenv from your shell profile.
Citations (3)
- Mise GitHub— Mise manages Node, Python, Go, and 100+ dev tool versions
- Mise Documentation— Project-level version pinning via .mise.toml configuration
- asdf GitHub— asdf plugin compatibility and migration
Related on TokRepo
Source & Thanks
Created by Jeff Dickey. Licensed under MIT.
mise — ⭐ 12,000+
Thanks for ending the version manager madness.
Discussion
Related Assets
HumHub — Open-Source Enterprise Social Network
A flexible, open-source social networking platform built on Yii2 for creating private communities, intranets, and collaboration spaces within organizations.
Dolibarr — Open-Source ERP & CRM for Business Management
A modular open-source ERP and CRM application written in PHP for managing contacts, invoices, orders, inventory, accounting, and more from a single web interface.
PrestaShop — Open-Source PHP E-Commerce Platform
A widely adopted open-source e-commerce platform written in PHP with a rich module marketplace, multi-language support, and a strong European user base.