mise-en-place / everything in its place
Declare your tool versions, environment variables, and commands in mise.toml. Use them in your shell, editor, and CI. Add machine setup with mise bootstrap when you need system packages, dotfiles, or services.
curl https://mise.run | shmacOS & Linux Installing on Windows?
# The right versions, in every project.
[tools]
node = "24"
python = "3.13"
terraform = "1.13"
Illustrative output ~/my-project
$ mise install
✓ node, python, terraform installed
Tool versions ready for this project.
01 The essentials
$ mise use node@24
Install hundreds of tools, select versions per project, and switch automatically as you move between directories.
Dev tools$ mise env
Per-project env vars from mise.toml, .env files, secrets, and shell commands. Set when you enter, gone when you leave.
$ mise run test
Build, test, lint, and deploy commands defined next to the tools and env they need, with dependencies and parallel runs.
Tasks$ mise bootstrap
Apply the machine setup you declare: OS packages, dotfiles, repos, services, macOS defaults, and development tools.
BootstrapComing from asdf? Your .tool-versions already works. Enable files like .nvmrc, too.
02 Day to day
Activate mise in your shell once. From then on, entering a project puts its installed tool versions on your PATH and loads its environment variables. Leave the project and mise restores the environment for your new directory.
mise exec and mise-action for Docker and CI03 New machine
Declare the packages, repositories, dotfiles, and services your machine needs, then apply them with mise bootstrap. Preview declarative resource changes with mise bootstrap plan. Add shell activation and platform-specific settings to keep machine setup alongside your tools.
mise bootstrap remotemise bootstrap --from git@github.com:you/dotfiles.git— Chef's special
Give every Cargo checkout one shared, self-pruning compilation cache, locally and in CI.
04 Quickstart
On macOS or Linux, use the installer below. See Windows and package manager instructions for other options.
For zsh, add this line and restart your shell. Follow the activation guide for other shells. You can also skip activation and use ~/.local/bin/mise exec or ~/.local/bin/mise run.
From your project directory, mise use installs a tool and saves its version request in mise.toml.
Save a task alongside its environment, then run it. Commit mise.toml to share the setup. See the complete example to print both the tool version and environment.
— Ready when you are
curl https://mise.run | sh