How to Install mise: Complete Guide for macOS, Linux, and Windows
Use the single-binary installer curl https://mise.run | sh on macOS and Linux, or scoop install mise on Windows, then activate your shell with mise activate to enable automatic tool loading.
mise is a Rust-based command-line tool that manages development environments by handling tool versions, environment variables, and project-specific tasks. Installing the binary from the jdx/mise repository takes only seconds, though proper shell activation is required to enable seamless tool access without manual PATH configuration.
Install mise on macOS and Linux
The recommended installation method uses the official installer script hosted at mise.run. This approach downloads a pre-compiled binary and places it in ~/.local/bin/mise by default.
Using the Single-Binary Installer
Run the following command to download and install mise:
curl https://mise.run | sh
Verify the installation by checking the version:
~/.local/bin/mise --version
The installer respects the MISE_INSTALL_PATH environment variable if you need a custom location. For example, to install system-wide:
MISE_INSTALL_PATH=/usr/local/bin/mise curl https://mise.run | sh
According to the jdx/mise source code, the installation script extracts the binary and optionally prepares activation hooks, but does not modify your shell configuration unless explicitly requested.
Alternative Package Managers
While the single-binary installer is optimized for automatic updates via mise self-update, you can also install via platform-specific package managers:
- Homebrew:
brew install mise(convenient but receives updates less frequently) - APT (Ubuntu 26.04+):
sudo add-apt-repository -y ppa:jdxcode/mise && sudo apt update && sudo apt install -y mise - DNF (Fedora 41+):
sudo dnf copr enable jdxcode/mise && sudo dnf install mise - Snap:
sudo snap install mise --classic - Cargo:
cargo install --locked miseor usecargo binstall misefor faster binary fetching
Install mise on Windows
Windows installation requires a package manager that handles shim directory configuration automatically.
Scoop Installation
Scoop is the recommended method for Windows as it automatically adds the shim directory (%LOCALAPPDATA%\mise\shims) to your system PATH:
scoop install mise
After installation, verify that the binary is accessible:
mise --version
Other Windows Options
Alternative installation methods include:
- winget:
winget install jdx.mise - Chocolatey:
choco install mise - Manual: Download the binary directly from GitHub releases and add it to your
PATHmanually
Activate mise in Your Shell
Installation alone does not modify your environment. To enable automatic tool loading and environment variable handling, you must activate mise for your specific shell. The activation logic, implemented in src/cli/activate.rs, injects the mise shim directory into your PATH and sets up hooks for directory-specific environment changes.
Add the appropriate activation command to your shell configuration file:
Bash:
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
Zsh:
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.bashrc
Fish:
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
PowerShell:
echo '(&mise activate pwsh) | Out-String | Invoke-Expression' >> $PROFILE
Reload your shell or source the configuration file to apply changes. Without activation, the mise binary functions but installed tools remain inaccessible unless invoked via mise exec.
Verify and Use mise
Once installed and activated, test the complete workflow by installing a tool globally:
mise use --global node@26
node -v
For CI/CD pipelines or Docker containers, you can use the installer directly without shell activation by ensuring the shims directory is in your PATH:
FROM debian:13-slim
RUN apt-get update && apt-get install -y curl ca-certificates && \
curl https://mise.run | sh && \
mise trust -a && mise install
ENV PATH="/mise/shims:${PATH}"
The backend selection logic in src/backend/mod.rs allows mise to fetch tools from multiple sources (Aqua, GitHub releases, npm, pipx) regardless of which installation method you used initially.
Summary
- Primary installation: Use
curl https://mise.run | shon Unix systems orscoop install miseon Windows for the most optimized setup. - Shell activation: Run
mise activate <shell>and add it to your shell config to enable automaticPATHinjection and environment handling. - Customization: Set
MISE_INSTALL_PATHto change the binary location during installation. - Updates: The official installer supports
mise self-update, while package manager installations update through their respective channels. - Architecture: The entry point in
src/main.rsdelegates tosrc/cli/activate.rsfor shell integration andsrc/backend/mod.rsfor tool fetching.
Frequently Asked Questions
Do I need to activate mise after installing it?
Yes, activation is required for seamless tool access. While the binary works immediately for running mise commands, activation modifies your shell environment to include the shim directory in PATH. Without it, you must prefix every tool command with mise exec or manually configure environment variables. Activation is implemented in src/cli/activate.rs and supports Bash, Zsh, Fish, and PowerShell.
How do I update mise to the latest version?
If you used the single-binary installer (curl https://mise.run | sh), run mise self-update to fetch the latest release automatically. For package manager installations (Homebrew, Scoop, APT, etc.), update through your package manager's standard command (e.g., brew upgrade mise or scoop update mise).
Can I install mise without administrator privileges?
Yes. The default single-binary installer places the executable in ~/.local/bin, which requires no sudo access. Ensure that ~/.local/bin exists and is in your PATH, or specify a user-writable directory using MISE_INSTALL_PATH during installation.
How does mise locate installed tools?
After activation, mise maintains a shim directory (typically ~/.local/share/mise/shims on Unix or %LOCALAPPDATA%\mise\shims on Windows) that contains proxy executables for all installed tools. The mise activate command prepends this directory to your PATH, allowing your shell to find tools without knowing their specific install locations. This mechanism is handled by the activation logic in src/cli/activate.rs.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →