Development tools, environments, and tasks
mise is pronounced “meez”
Define your tool versions, environment variables, and project commands in mise.toml. mise installs the tools and makes the configuration available in your shell, editor, and CI.
curl https://mise.run | shmacOS & Linux Installing on Windows?
# Tool versions for this 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.
$ mise use node@24
Install hundreds of tools, select versions per project, and switch automatically as you move between directories.
Dev tools$ mise env
Load project environment variables from mise.toml, .env files, secrets, and shell commands when you enter a directory.
$ 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.
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 CI[bootstrap.packages]
[bootstrap.repos]
[dotfiles]
[bootstrap.services]mise bootstrapmise bootstrap plan previews declarative resource changes before you apply them. 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— Related project
Give every Cargo checkout one shared, self-pruning compilation cache, locally and in CI.
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