Bun
mise can be used to install and manage multiple versions of bun on the same system.
Usage
Install Bun for the current project and check the selected executable:
mise use bun@latest
mise exec -- bun --versionUse mise use -g bun@latest for a personal default outside projects. Commit the project's mise.toml so teammates select the same version request.
See available versions with mise ls-remote bun.
NOTE
Update with mise upgrade bun. Running bun upgrade changes the installed binary without updating mise's recorded version.
These instructions use mise's built-in bun support. An installed external plugin with the same name can change the behavior; use mise plugins ls to check for overrides. See the core implementation for backend details.
Version files
Enable idiomatic version files to read .bun-version or a version declaration in package.json:
mise settings add idiomatic_version_file_enable_tools bunFor example, this package.json selects Bun 1.2.0:
{
"devEngines": {
"runtime": { "name": "bun", "version": "1.2.0" }
}
}mise checks devEngines.runtime first, then falls back to devEngines.packageManager and the top-level packageManager field (for example, "packageManager": "bun@1.2.0").
devEngines runtime and package-manager declarations can be objects or arrays; mise reads the first entry in an array. The engines compatibility fields are not used to select a version. See package-manager versions for the package-manager declaration formats.
Tool Options
The following tool-options are available for the bun backend. These options go in the [tools] section in mise.toml.
install_env
Set environment variables for install-time commands run by the core bun backend:
[tools]
bun = { version = "latest", install_env = { HTTPS_PROXY = "http://proxy.example" } }