v2026.8.16
jdx/misev2026.8.16Aug 31, 2026by mise-en-dev
AI Summary
Adds configurable command wrappers for intercepting commands and fixes Windows shell and PATH issues. Also improves error messaging for upgrades and npm installs.
Key Highlights
- New `[wrappers]` config allows intercepting ordinary commands with custom environments.
- Fixes Elvish and Fish shell activation issues regarding quoting and path separators.
- Improves upgrade error messaging to show versions available outside configured ranges.
- Isolates embedded Aube npm installs to prevent workspace pollution.
New Features
- Command wrapper configuration
- Elvish and Fish shell fixes
- Upgrade message improvements
- npm install isolation
Full Release Notes
This release adds configurable command wrappers for intercepting ordinary commands, alongside a batch of shell and PATH fixes that make Windows activation more reliable and clearer upgrade and error messaging.
## Added
- **shims:** New `[wrappers]` config lets you intercept an ordinary command name with a different command, arguments, and environment. Wrappers take precedence over mise-managed tools, and mise strips its dispatch directories before delegating so the underlying tool still resolves from mise or the system. Works with normal activation, `activate --shims`, and `mise exec`; managed wrapper shims are refreshed by `mise reshim`. ([#12617](https://github.com/jdx/mise/pull/12617) by @jdx)
```toml
[tools]
mr-boxington = "1.1.0"
[wrappers.cargo]
command = "mbx"
env = { MBX_CARGO_SHIM_MODE = "1" }
```
## Fixed
- **elvish:** `mise env` and `mise activate --shims` now emit valid Elvish quoting instead of bash's. This fixes several corruptions that mostly surfaced on Windows: stray quotes and the wrong PATH separator in `activate --shims`, apostrophes and `!` arriving with backslashes, and `\n` sequences in paths like `C:\nodejs` being turned into newlines. ([#12584](https://github.com/jdx/mise/pull/12584) by @JamBalaya56562)
- **fish:** `mise env -s fish` now splits PATH on the host's separator and recognizes the `Path` spelling on Windows, so semicolon-separated Windows paths are no longer severed at each drive letter. Empty PATH segments are dropped rather than adding the current directory. ([#12582](https://github.com/jdx/mise/pull/12582) by @JamBalaya56562)
- **http:** The "No URL for platform" error now lists every platform key a tool actually declares in `mise.toml`, including typos and unrecognized names, instead of falling back to a misleading "requires 'url' option" message with an empty available list. ([#12580](https://github.com/jdx/mise/pull/12580) by @JamBalaya56562)
- **upgrade:** When tools are current for their configured version ranges but newer releases exist beyond those ranges, `mise upgrade` no longer prints "All tools are up to date". It now lists the affected tools with their current and available versions plus the config source, and points to `mise upgrade --bump`. ([#12613](https://github.com/jdx/mise/pull/12613) by @jdx)
```text
Newer versions are available but do not match the configured version ranges:
node 26.7.0 → 26.8.1 (~/.config/mise/config.toml)
Run `mise upgrade --bump` to update the configuration and upgrade.
```
- **task:** Double-dash task arguments are now preserved with `double_dash="preserve"`. The first `--` separator was previously consumed by the outer CLI parser and lost before reaching the task. ([#12628](https://github.com/jdx/mise/pull/12628) by @jdx)
- **npm:** Embedded Aube npm installs are now isolated as a standalone one-package workspace, so a `pnpm-workspace.yaml` above `MISE_DATA_DIR` can no longer redirect the install into the outer workspace or mutate it. This mainly affects GitLab CI layouts where the data dir lives under `CI_PROJECT_DIR`. ([#12630](https://github.com/jdx/mise/pull/12630) by @jdx)
- **bootstrap:** Repository status checks now honor the global `--jobs` limit, so `mise bootstrap` status, apply, and update run these read-only git checks with bounded concurrency. ([#12629](https://github.com/jdx/mise/pull/12629) by @jdx)
## Changed
- **registry:** `acli`, `mimirtool`, and `specstory` are no longer restricted to Linux and macOS and can now be installed and run on Windows. ([#12627](https://github.com/jdx/mise/pull/12627) by @JamBalaya56562)
- **registry:** `llama.cpp` resolution now includes prereleases, since upstream began flagging its rolling `bNNNN` builds as GitHub prereleases. The existing minimum-release-age and `b` version prefix behavior is unchanged. ([#12614](https://github.com/jdx/mise/pull/12614) by @jdx)
**Full Changelog**: https://github.com/jdx/mise/compare/v2026.8.15...v2026.8.16
## 💚 Sponsor mise
mise is maintained by [@jdx](https://github.com/jdx), an open source developer for [**entire.io**](https://entire.io), the title sponsor of the [jdx.dev](https://jdx.dev) open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at [jdx.dev](https://jdx.dev/sponsors.html). Individual and company sponsorships keep mise fast, free, and independent.