v2026.2.7

jdx/misev2026.2.7Feb 8, 2026by mise-en-dev

AI Summary

This release introduces native Windows .exe shims to replace batch scripts, improving compatibility and reliability for Windows users.

Key Highlights

  • Native Windows .exe shims replacing batch scripts
  • Config options preserved during CLI installs
  • Linked versions now correctly override lockfile entries

New Features

  • Added orval for OpenAPI client generation

Full Release Notes

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](https://github.com/jdx/mise/pull/8045))

mise now generates native `.exe` shim files instead of `.cmd` batch scripts. This resolves a whole category of frustrating issues:

- No more intermittent `ENOENT` errors from `spawnSync` in node
- `where.exe` now 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](https://github.com/jdx/mise/pull/8044)) - Running `mise install tool@version` with an explicit version no longer loses tool-level config options like `postinstall` from your `mise.toml`. Registry defaults (like `uvx=false` or `pipx_args`) are also preserved when using table syntax.

- **Linked versions take priority over lockfiles** ([#8050](https://github.com/jdx/mise/pull/8050)) - Tools created with `mise link` now 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](https://github.com/jdx/mise/pull/8042)) - Thanks @roele!

### Registry Updates

- Switched `oxlint` to use npm backend by default ([#8038](https://github.com/jdx/mise/pull/8038)) - Thanks @risu729!
- Added `orval` for OpenAPI client generation: `mise use orval` ([#8051](https://github.com/jdx/mise/pull/8051)) - Thanks @zdunecki for your first contribution!