Getting Started
Get up and running with mise in minutes.
1. Install mise CLI
See installing mise for other ways to install mise (macport, apt, yum, nix, etc.).
curl https://mise.run | shBy default, mise installs to ~/.local/bin, but it can go anywhere. Verify the installation:
~/.local/bin/mise --version
# mise 2024.x.x~/.local/bindoes not need to be inPATH. mise will automatically add its own directory toPATHwhen activated.
mise respects MISE_DATA_DIR and XDG_DATA_HOME if you'd like to change these locations.
2. mise exec and run
Once installed, you can start using mise right away to install and run tools, launch tasks, and manage environment variables.
The quickest way to run a tool at a specific version is mise x|exec. For example, to launch a Python 3 REPL:
TIP
If mise isn't on PATH yet, use ~/.local/bin/mise instead.
mise exec python@3 -- python
# this will download and install Python if it is not already installed
# Python 3.13.2
# >>> ...or run node 24:
mise exec node@24 -- node -v
# v24.x.xTo install a tool permanently, use mise u|use:
mise use --global node@24 # install node 24 and set it as the global default
mise exec -- node my-script.js
# run my-script.js with node 24...mise r|run lets you run tasks or scripts with the full mise context (tools + env vars) loaded.
TIP
You can set a shell alias in your shell's rc file like alias x="mise x --" to save some keystrokes.
3. Activate mise optional
mise exec works great for one-off commands, but for interactive shells you'll probably want to activate mise so tools and environment variables are loaded automatically.
There are two approaches:
mise activate— updates yourPATHand environment every time your prompt runs. Recommended for interactive shells.- Shims — symlinks that intercept commands and load the right environment. Better for CI/CD, IDEs, and scripts. Note that shims don't support all features of
mise activate.
You can also skip both and call mise exec or mise run directly. See this guide for more information.
Here is how to activate mise for your shell:
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrcecho 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrcecho '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fishRestart your shell session after modifying your rc file. Run mise dr|doctor to verify everything is set up correctly.
With mise activated, tools are available directly on PATH:
mise use --global node@24
node -v
# v24.x.xWhen you ran mise use --global node@24, mise updated your global config:
[tools]
node = "24"4. Use tools from backends (npm, pipx, core, aqua, github)
Backends are the package ecosystems that mise pulls tools from. With mise use, you can install from any of them.
Install claude-code from npm:
# one-off
mise exec npm:@anthropic-ai/claude-code -- claude --version
# or install globally
mise use --global npm:@anthropic-ai/claude-code
claude --versionInstall black from PyPI via pipx:
# one-off
mise exec pipx:black -- black --version
# or install globally
mise use --global pipx:black
black --versionInstall ripgrep directly from GitHub releases:
# one-off
mise exec github:BurntSushi/ripgrep -- rg --version
# or install globally
mise use --global github:BurntSushi/ripgrep
rg --versionSee Backends for more ecosystems and details.
5. Setting environment variables
Define environment variables in mise.toml — they'll be loaded whenever mise is activated or when using mise exec:
[env]
NODE_ENV = "production"mise exec -- node --eval 'console.log(process.env.NODE_ENV)'
# or if mise is activated in your shell
echo "node env: $NODE_ENV"
# node env: production6. Run a task
Define tasks in mise.toml and run them with mise run:
[tasks]
hello = "echo hello from mise"mise run hello
# hello from miseTIP
mise automatically installs all tools from mise.toml before running a task.
See tasks for more on defining and running tasks.
7. Next steps
Follow the walkthrough for more examples on how to use mise.
Set up autocompletion
See autocompletion to learn how to set up autocompletion for your shell.
GitHub API rate limiting
WARNING
Many tools in mise require the GitHub API. Unauthenticated requests are often rate limited — if you see 4xx errors, see GitHub Tokens for how to configure authentication.