Bun
mise installs Bun release binaries, including bunx, and selects a version per project.
Quick start
Install Bun for the current project and check the selected executable:
mise use bun@1
mise exec -- bun --versionmise use writes bun = "1" to mise.toml. Commit that file so teammates get the same version request, and use mise use -g bun@1 for a personal default outside projects.
Update Bun with mise upgrade bun. bun upgrade replaces the binary inside mise's install directory without changing the version mise recorded.
Choosing a version
bun@1 selects the newest 1.x release, bun@1.3.14 selects that release, and bun@latest selects the newest release. List the available versions with mise ls-remote bun. See version requests for the full syntax.
Version files
mise can read .bun-version and the version declarations in package.json. Enable them for Bun:
mise settings add idiomatic_version_file_enable_tools bunThis changes your global config. Add --local to enable it in the project's mise.toml instead, so teammates get the same behavior. See idiomatic version files.
For example, this package.json selects Bun 1.3.14:
{
"devEngines": {
"runtime": { "name": "bun", "version": "1.3.14" }
}
}mise reads devEngines.runtime first, then devEngines.packageManager, then the top-level packageManager field (for example, "packageManager": "bun@1.3.14"). Each devEngines entry can be an object or an array; mise reads the first entry of an array. The engines compatibility field is not used to select a version.
When a packageManager declaration for the same version carries a Corepack-style checksum, such as bun@1.3.14+sha224.…, mise installs Bun from the npm registry and verifies the package against that checksum. See package-manager versions for the declaration formats.
Global packages
mise sets no Bun environment variables. bun add -g installs packages under Bun's own global directory (~/.bun, or $BUN_INSTALL) and their executables in ~/.bun/bin. mise does not add that bin directory to PATH. To install a CLI that every project can use, add it as a tool with the npm backend, for example mise use -g npm:prettier.
How mise installs Bun
mise downloads the release archive for your platform from Bun's GitHub releases and runs bun -v to check it. On x64 CPUs without AVX2, mise picks Bun's baseline build. On musl systems such as Alpine, or with the libc setting set to musl, it picks the musl build. Windows on arm64 gets the native build from Bun 1.3.10 on, and the x64 baseline build for older versions.
mise lock records the checksum Bun publishes in SHASUMS256.txt for each platform.
An installed plugin named bun takes precedence over the built-in installer. If mise behaves differently from this page, check mise plugins ls and see selecting another implementation.
Tool options
Bun has no Bun-specific options. Generic options such as install_env, postinstall and os work as described in tool options. install_env reaches the bun -v check and postinstall commands, not the download. To download through a proxy, set https_proxy in the environment that runs mise (see the FAQ).