This release brings a significant improvement for Windows users with native .exe shims, along with several bug fixes that improve the reliability of tool installation and version resolution.
Highlights
Native Windows Shims (#8045)
mise now generates native .exe shim files instead of .cmd batch scripts. This resolves a whole category of frustrating issues:
- No more intermittent
ENOENTerrors fromspawnSyncin node where.exenow correctly finds your tools- Better compatibility with package managers like npm and bun that expect real executables
- Proper control flow in batch scripts
The new "exe" mode is now the default for windows_shim_mode. This follows the same pattern used by Scoop, Volta, and Chocolatey. If you need to switch back, you can set windows_shim_mode = "file" in your settings. Thanks to @iki for helping with this.
Bug Fixes
-
Config options preserved during CLI installs (#8044) - Running
mise install tool@versionwith an explicit version no longer loses tool-level config options likepostinstallfrom yourmise.toml. Registry defaults (likeuvx=falseorpipx_args) are also preserved when using table syntax. -
Linked versions take priority over lockfiles (#8050) - Tools created with
mise linknow correctly override lockfile entries during version resolution. Previously, a lockfile pin would override your linked version, causing confusing "missing" warnings. -
Fixed duplicate entries in
ls --all-sources(#8042) - Thanks @roele!