mise: command not found
You'll see the "mise: command not found" error when your terminal application can't access the mise program, usually because it is not installed or shell activation is missing. Mise is a fast version manager written in Rust that manages multiple languages on your Mac.
Mise is a version manager that handles multiple programming languages and tools. It runs from the command line (in a terminal application) and the error zsh: command not found: mise means either mise is not installed or your shell doesn't know where to find it.
If you've installed mise but get a zsh: command not found: mise message when you try to run it, it probably means your shell doesn't know where to find the binary program or how to activate it. This guide helps you diagnose why activation didn't complete and fix the issue.
Troubleshooting Mise is just a part of setting up your Mac for software development. See a full visual roadmap on the home page for more.
Before you get started
You'll need a terminal application to fix the error and use the mise version manager. Apple includes the Mac terminal but I prefer Warp Terminal. Warp is an easy-to-use terminal application, with AI assistance to help you learn and remember terminal commands. Download Warp Terminal now; it's FREE and worth a try.
First steps to fix "mise: command not found"
You will need to use a terminal application and edit configuration files in your home directory. Apple's macOS uses zsh as the default shell and ~/.zshrc is the appropriate configuration file.
Diagnose the problem
Start by testing whether the mise binary program was installed via curl. Use the full path to bypass your shell's PATH settings:
$ ~/.local/bin/mise --version
If this command works and shows a version number, the binary program is installed and the issue is shell activation. If it shows "No such file or directory," try the Homebrew path instead:
$ /opt/homebrew/bin/mise --version
If neither path works, mise is not installed. See Install Mise on Mac for installation steps.
Check shell activation
Look for mise activation in your zsh configuration:
$ grep mise ~/.zshrc
Look for a line containing mise activate zsh. If you see nothing, shell activation is missing. If the line starts with #, it is commented out and disabled.
Run mise doctor
Run the mise doctor command to get diagnostics:
### For a Homebrew installation
$ /opt/homebrew/bin/mise doctor
### For a curl installation
$ ~/.local/bin/mise doctor
This shows whether activation is working, whether shims are on PATH, and what configuration files mise found. Look for "mise is not activated" or "no problems found" in the output.
Check PATH for mise directories
Check your PATH variable to see whether mise directories appear:
$ echo $PATH | tr ':' '\n' | grep mise
This filters your PATH to show only entries containing "mise". You should see at least one mise-related directory. See Mac PATH for a deeper explanation of how PATH works on macOS.
Add shell activation to ~/.zshrc
This is the most common fix. Mise needs an activation line in your zsh configuration file to set up PATH and environment variables.
Open your zsh configuration file. See Mac shell configuration to learn how to edit a shell configuration file.
If you installed mise via Homebrew, add this line to the end of ~/.zshrc:
eval "$(mise activate zsh)"
If you installed mise via curl, use the full path to the binary program:
eval "$(~/.local/bin/mise activate zsh)"
Close and reopen your terminal window completely.
Test the fix:
$ mise --version
The command should now work without needing the full path.
Verify Homebrew PATH on Apple Silicon
If you installed mise via Homebrew on an Apple Silicon (M-series) Mac, the Homebrew directory might not be in your PATH. Homebrew installs to /opt/homebrew on Apple Silicon, but zsh does not know about it automatically.
Check where Homebrew is installed:
$ /opt/homebrew/bin/brew --version
If this shows a version number, Homebrew is installed but your shell cannot find it. See Fix zsh: command not found: brew for a full guide. Add Homebrew to your shell environment by editing ~/.zprofile:
eval "$(/opt/homebrew/bin/brew shellenv)"
This line must go in ~/.zprofile (not ~/.zshrc) because it sets up login shell paths. The article .zshrc or .zprofile explains the differences. Save the file, then also confirm that mise activation appears in ~/.zshrc as described in the previous section.
Close your terminal window and open a new one to reload both files. Test:
$ mise --version
Fix curl-based installations
If you installed mise using the curl method (curl https://mise.run | sh), the binary program goes to ~/.local/bin/ by default. This directory needs to be in your PATH.
Check whether ~/.local/bin is in your PATH:
$ echo $PATH | tr ':' '\n' | grep local/bin
If nothing shows up, add it to ~/.zprofile (not ~/.zshrc):
export PATH="$HOME/.local/bin:$PATH"
Then add the activation line to ~/.zshrc:
eval "$(~/.local/bin/mise activate zsh)"
Save, close your terminal, reopen, and test.
Are you using shims?
You might have mise working (mise --version succeeds) but tools installed with mise still do not work. Most users will use the default PATH mode on a local machine but Mise has an option to use shims in a non-interactive server environment like CI/CD.
Shims mode is an alternative that creates small wrapper scripts in ~/.local/share/mise/shims. These wrappers are useful for non-interactive environments like CI/CD pipelines, IDEs, or scripts. If you are using shims, see the shims mode documentation.
See if shims were created:
$ ls ~/.local/share/mise/shims/
If you are using shims, you will see executable files matching your tools, such as node, python, ruby. If the directory is empty, shims have not been created.
If shims are present, try rebuilding shims:
$ mise reshim
This recreates symlinks in the shims directory pointing to activated tool versions. Test whether your tools work:
$ node --version
If it still fails, reload your shell configuration and try again:
$ source ~/.zshrc
Edit the correct configuration file
The Zsh shell reads different configuration files at different stages. If you add activation to the wrong file, it will not work in your interactive terminal.
You should place mise activation in ~/.zshrc. This is the file zsh reads for every interactive shell session. Do not add activation to ~/.zprofile (that file is for login shell setup including Mac PATH). Do not add activation to ~/.zshenv (that file runs for every zsh invocation, including scripts, and can cause unexpected behavior). The article .zshrc or .zprofile explains the differences.
If ~/.zshrc does not exist, create it:
$ touch ~/.zshrc
Then add your activation line and save.
Verify the fix
After applying any fix, verify everything works:
$ mise doctor
The output should show "no problems found." If it shows warnings, review the specific message for guidance.
Test a tool installation to confirm shims work:
$ mise install node@22
$ node --version
Both commands should work without errors.
Check for duplicate installations
If you installed mise more than once (for example, via both Homebrew and curl), check which one your shell finds first:
$ which -a mise
This shows every mise binary program in your PATH. If you see multiple results, uninstall Mise for the one you do not want. The Homebrew installation lives in /opt/homebrew/bin/mise and the curl installation lives in ~/.local/bin/mise.
For deeper debugging, check your full PATH in order:
$ echo $PATH | tr ':' '\n'
The mise-related directories should appear early in the output, before /usr/local/bin or other system paths, so mise tools take priority.
Continue setting up your Mac
Don't miss the full visual roadmap and checklist that shows how to set up a Mac for software development, with all the essential tools and settings you might not yet know about.