MISE(1) General Commands Manual MISE(1) NAME mise - Dev tools, env vars, and tasks in one CLI SYNOPSIS mise [OPTIONS] [] [] ... [] ... [COMMAND] DESCRIPTION mise prepares your development environment before each command runs. https://github.com/jdx/mise OPTIONS -c, --continue-on-error Continue running tasks even if one fails -C, --cd Change directory before running command -E, --env Set the environment for loading `mise..toml` -f, --force Force the operation -j, --jobs How many jobs to run in parallel; values below 1 are treated as 1 [default: 8] -n, --dry-run Dry run, don't actually do anything -P, --profile Set the profile (environment) -q, --quiet Suppress non-error messages -s, --shell -t, --tool Tool(s) to run in addition to what is in mise.toml files e.g.: node@20 python@3.10 -v, --verbose Show extra output (use -vv for even more) -V, --version -y, --yes Answer yes to all confirmation prompts --debug Sets log level to debug --log-level --no-config Do not load any config files Can also use `MISE_NO_CONFIG=1` --no-env Do not load environment variables from config files Can also use `MISE_NO_ENV=1` --no-hooks Do not execute hooks from config files Can also use `MISE_NO_HOOKS=1` --no-timings Hides elapsed time after each task completes Default to always hide with `MISE_TASK_TIMINGS=0` --output --raw Read/write directly to stdin/stdout/stderr instead of by line --locked Require lockfile URLs to be present during installation Fails if tools don't have pre-resolved URLs in the lockfile for the current platform. This prevents API calls to GitHub, aqua registry, etc. Can also be enabled via MISE_LOCKED=1 or settings.locked=true --silent Suppress all task output and mise non-error messages --timings Shows elapsed time after each task completes Default to always show with `MISE_TASK_TIMINGS=1` --trace Sets log level to trace ARGUMENTS Task to run. Shorthand for `mise tasks run `. Task arguments COMMANDS activate Initializes mise in the current shell session tool-alias Manage tool version aliases. tool-alias get Show an alias for a tool tool-alias ls List tool version aliases Aliases: list tool-alias set Add/update an alias for a tool/backend Aliases: add, create tool-alias unset Clears an alias for a tool/backend Aliases: rm, remove, delete, del backends Manage backends backends ls List built-in backends Aliases: list bin-paths List all the active runtime bin paths bootstrap Set up a machine for the current config in one command Aliases: bs bootstrap accounts Manage Linux users and groups from `[bootstrap.users]` and `[bootstrap.groups]` bootstrap accounts apply Apply configured Linux users and groups bootstrap accounts status Show configured Linux user and group state bootstrap compose Manage Docker Compose projects from `[bootstrap.compose]` bootstrap compose apply Apply configured Docker Compose project state bootstrap compose status Show configured Docker Compose project state bootstrap dotfiles Manage dotfiles from `[dotfiles]` bootstrap dotfiles add Add or update dotfiles in `[dotfiles]` bootstrap dotfiles apply Apply dotfiles from `[dotfiles]` bootstrap dotfiles edit Edit a managed dotfile source bootstrap dotfiles status Show the status of dotfiles from `[dotfiles]` Aliases: ls bootstrap dotfiles unapply Remove dotfiles applied from `[dotfiles]` bootstrap files Manage privileged files and directories from `[bootstrap.files]` and `[bootstrap.directories]` bootstrap files apply Apply configured privileged files and directories bootstrap files status Show configured privileged file and directory state bootstrap firewall Manage the Linux host firewall from `[bootstrap.linux.firewall]` bootstrap firewall apply Apply the configured Linux host firewall bootstrap firewall status Show configured Linux host firewall state bootstrap linux Manage Linux bootstrap config from `[bootstrap.linux]` bootstrap linux systemd-units Manage systemd user services from `[bootstrap.linux.systemd.units]` bootstrap linux systemd-units apply bootstrap linux systemd-units status bootstrap macos Manage macOS bootstrap config from `[bootstrap.macos]` bootstrap macos defaults Manage macOS defaults from `[bootstrap.macos.defaults]` bootstrap macos defaults apply bootstrap macos defaults status bootstrap macos launchd-agents Manage macOS LaunchAgents from `[bootstrap.macos.launchd.agents]` bootstrap macos launchd-agents apply bootstrap macos launchd-agents status bootstrap mise-shell-activate Manage mise shell activation from `[bootstrap.mise_shell_activate]` bootstrap mise-shell-activate apply bootstrap mise-shell-activate status bootstrap packages Manage bootstrap system packages from `[bootstrap.packages]` bootstrap packages apply Apply system packages from `[bootstrap.packages]` Aliases: i bootstrap packages brew Manage Homebrew taps used by bootstrap packages bootstrap packages brew tap Add a Homebrew tap URL to [bootstrap.brew.taps] bootstrap packages brew untap Remove Homebrew tap URLs from [bootstrap.brew.taps] Aliases: remove, rm bootstrap packages import Import installed system packages into `[bootstrap.packages]` bootstrap packages prune Prune installed system packages no longer declared in `[bootstrap.packages]` bootstrap packages status Show the status of system packages from `[bootstrap.packages]` Aliases: ls bootstrap packages upgrade Upgrade installed bootstrap packages from `[bootstrap.packages]` Aliases: up bootstrap packages use Add bootstrap packages to [bootstrap.packages] and install them Aliases: u bootstrap plan Show the changes declarative bootstrap resources would make bootstrap plugins Manage package manager plugins declared in `[bootstrap.plugins]` bootstrap plugins apply bootstrap plugins status bootstrap remote Bootstrap one or more machines over OpenSSH bootstrap repos Manage git repo checkouts from `[bootstrap.repos]` bootstrap repos apply bootstrap repos exec bootstrap repos status bootstrap repos update bootstrap secrets Inspect bootstrap secret inputs without revealing their values bootstrap secrets status Show whether declared bootstrap secret inputs are available bootstrap services Manage Linux system services from `[bootstrap.services]` bootstrap services apply Apply configured Linux system service state bootstrap services status Show configured Linux system service state bootstrap status Show the aggregate bootstrap status Aliases: ls bootstrap user Manage current-user bootstrap settings from `[bootstrap.user]` bootstrap user apply bootstrap user status cache Manage the mise cache cache clear Deletes all cache files in mise Aliases: c cache path Show the cache directory path Aliases: dir cache prune Removes stale mise cache files Aliases: p cache task Inspect output cache entries for a task completion Generate shell completions config Manage config files Aliases: cfg config get Display the value of a setting in a mise.toml file config ls List config files currently in use Aliases: list config set Set the value of a setting in a mise.toml file deactivate Disable mise for current shell session doctor Check mise installation for possible problems Aliases: dr doctor path Print the current PATH entries mise is providing en Starts a new shell with the mise environment built from the current configuration env Exports env vars to activate mise a single time Aliases: e exec Execute a command with tool(s) set Aliases: x fmt Formats mise.toml generate Generate files for various tools/services Aliases: gen generate bootstrap Generate a script to download+execute mise generate config Generate a mise.toml file generate devcontainer Generate a devcontainer to execute mise generate git-pre-commit Generate a git pre-commit hook Aliases: pre-commit generate github-action Generate a GitHub Action workflow file generate task-docs Generate documentation for tasks in a project generate task-stubs Generates shims to run mise tasks generate tool-stub Generate a tool stub for HTTP-based tools implode Removes mise CLI and all related data edit Edit mise.toml interactively install Install a tool version Aliases: i install-into Install a tool version to a specific path latest Gets the latest available version for a plugin link Symlinks a tool version into mise Aliases: ln lock Update lockfile checksums and URLs for all specified platforms ls List installed and active tool versions Aliases: list ls-remote List runtime versions available for install. mcp Run Model Context Protocol (MCP) server oci [experimental] Build OCI container images from a mise.toml oci build [experimental] Build an OCI image from the current mise.toml oci push [experimental] Build an OCI image and push it to a registry oci run [experimental] Build an OCI image from the current mise.toml and run a command in it outdated Shows outdated tool versions patrons Show the individuals supporting mise as Patron-tier members plugins Manage plugins Aliases: p plugins install Install a plugin Aliases: i, a, add plugins link Symlinks a plugin into mise Aliases: ln plugins ls List installed plugins Aliases: list plugins ls-remote Aliases: list-remote, list-all plugins uninstall Removes a plugin Aliases: remove, rm plugins update Updates a plugin to the latest version Aliases: up, upgrade deps [experimental] Manage project dependencies Aliases: dep deps add Add a dependency deps install Install all project dependencies deps remove Remove a dependency prune Delete unused versions of tools registry List available tools to install reshim Creates new shims based on bin paths from currently installed tools. run Run task(s) Aliases: r search Search for tools in the registry self-update Updates mise itself. set Set environment variables in mise.toml settings Show current settings settings add Adds a setting to the configuration file settings get Show a current setting settings ls Show current settings Aliases: list settings set Add/update a setting Aliases: create settings unset Clears a setting Aliases: rm, remove, delete, del shell Sets a tool version for the current session. Aliases: sh shell-alias Manage shell aliases. shell-alias get Show the command for a shell alias shell-alias ls List shell aliases Aliases: list shell-alias set Add/update a shell alias Aliases: add, create shell-alias unset Removes a shell alias Aliases: rm, remove, delete, del sponsors Show the companies sponsoring mise and the jdx.dev open source tools sync Synchronize tools from other version managers with mise sync node Symlinks all tool versions from an external tool into mise sync python Symlinks all tool versions from an external tool into mise sync ruby Symlinks all ruby tool versions from an external tool into mise tasks Manage tasks Aliases: t tasks add Create a new task tasks deps Display a tree visualization of a dependency graph tasks edit Edit a task with $EDITOR tasks graph [experimental] Inspect the workspace project graph tasks info Get information about a task tasks ls List available tasks to execute tasks run Run task(s) Aliases: r tasks validate Validate tasks for common errors and issues test-tool Test a tool installs and executes token Display git provider tokens mise will use token forgejo Forgejo token token github GitHub token token gitlab GitLab token tool Gets information about a tool tool-stub Execute a tool stub trust Marks a config file as trusted uninstall Removes installed tool versions unset Remove environment variable(s) from the config file. untrust No longer trust a config, will prompt in the future unuse Removes installed tool versions from mise.toml Aliases: rm, remove upgrade Upgrades outdated tools Aliases: up use Installs a tool and adds the version to mise.toml. Aliases: u version Display the version of mise Aliases: v watch Run task(s) and watch for changes to rerun it Aliases: w where Display the installation path for a tool which Shows the path that a tool's bin points to. MISE ACTIVATE Initializes mise in the current shell session This should go into your shell's rc file or login shell. Otherwise, it will only take effect in the current session. (e.g. ~/.zshrc, ~/.zprofile, ~/.zshenv, ~/.bashrc, ~/.bash_profile, ~/.profile, ~/.config/fish/config.fish, or $PROFILE for powershell) Typically, this can be added with something like the following: echo 'eval "$(mise activate zsh)"' >> ~/.zshrc However, this requires that "mise" is in your PATH. If it is not, you need to specify the full path like this: echo 'eval "$(/path/to/mise activate zsh)"' >> ~/.zshrc Customize status output with `status` settings. Usage: mise activate [OPTIONS] [] Options: -q, --quiet Suppress non-error messages -s, --shell Shell type to generate the script for --no-hook-env Do not automatically call hook-env This can be helpful for debugging mise. If you run `eval "$(mise activate --no-hook-env)"`, then you can call `mise hook-env` manually which will output the env vars to stdout without actually modifying the environment. That way you can do things like `mise hook-env --trace` to get more information or just see the values that hook-env is outputting. --shims Use shims instead of modifying PATH Effectively the same as: PATH="$HOME/.local/share/mise/shims:$PATH" `mise activate --shims` does not support all the features of `mise activate`. See https://mise.jdx.dev/dev-tools/shims.html#shims-vs-path for more information --status Show "mise: @" message when changing directories Arguments: Shell type to generate the script for MISE TOOL-ALIAS Manage tool version aliases. Usage: mise tool-alias [OPTIONS] [COMMAND] Options: -p, --tool Filter aliases by tool --no-header Don't show table header MISE TOOL-ALIAS GET Show an alias for a tool This is the contents of a tool_alias. entry in ~/.config/mise/config.toml Usage: mise tool-alias get Arguments: The tool to show the alias for The alias to show MISE TOOL-ALIAS LS List tool version aliases Shows the aliases that can be specified. These can come from user config or from plugins in `bin/list-aliases`. For user config, aliases are defined like the following in `~/.config/mise/config.toml`: [tool_alias.node.versions] lts = "22.0.0" Usage: mise tool-alias ls [OPTIONS] [] Options: --no-header Don't show table header Arguments: Show aliases for MISE TOOL-ALIAS SET Add/update an alias for a tool/backend This modifies the contents of ~/.config/mise/config.toml Usage: mise tool-alias set [] Arguments: The tool/backend to set the alias for The alias to set The value to set the alias to MISE TOOL-ALIAS UNSET Clears an alias for a tool/backend This modifies the contents of ~/.config/mise/config.toml Usage: mise tool-alias unset [] Arguments: The tool/backend to remove the alias from The alias to remove MISE BIN-PATHS List all the active runtime bin paths Usage: mise bin-paths [OPTIONS] [] ... Options: --bin-names Output executable names instead of bin directories -J, --json Output executable entries in JSON format (implies --bin-names) Arguments: Tool(s) to look up e.g.: ruby@3 MISE BOOTSTRAP Set up a machine for the current config in one command Runs the bootstrap steps for the current config in order: 0. `mise bootstrap accounts apply` -- converge `[bootstrap.users]` and `[bootstrap.groups]` (Linux) 1. `mise bootstrap plugins apply` -- install `[bootstrap.plugins]` 1.7. `[bootstrap.hooks.pre-packages]` -- optional setup hook 2. Install built-in-manager entries from `[bootstrap.packages]` 3. `mise bootstrap files apply` -- converge `[bootstrap.files]` and `[bootstrap.directories]` 4. `mise bootstrap services apply` -- converge `[bootstrap.services]` systemd system services (Linux) 5. `mise bootstrap firewall apply` -- converge `[bootstrap.linux.firewall]` host firewall policy and rules (Linux) 6. `mise bootstrap compose apply` -- converge `[bootstrap.compose]` Docker Compose projects 7. `mise bootstrap repos apply` -- clone/converge `[bootstrap.repos]` surrounded by `pre-repos`/`post-repos` hooks 8. `mise bootstrap dotfiles apply` -- apply dotfiles from `[dotfiles]` surrounded by `pre-dotfiles`/`post-dotfiles` hooks 9. `mise bootstrap mise-shell-activate apply` -- configure shell activation from `[bootstrap.mise_shell_activate]` 10. `mise bootstrap macos defaults apply` -- write `[bootstrap.macos.defaults]` entries (macOS) surrounded by `pre-defaults`/`post-defaults` hooks 11. `mise bootstrap macos launchd-agents apply` -- install/load `[bootstrap.macos.launchd.agents]` 12. `mise bootstrap linux systemd-units apply` -- install/start `[bootstrap.linux.systemd.units]` 13. `mise bootstrap user apply` -- set `[bootstrap.user].login_shell` (Unix) surrounded by `pre-user`/`post-user` hooks 14. `mise install` -- install missing tools from `[tools]` surrounded by `pre-tools`/`post-tools` hooks; package-plugin entries from `[bootstrap.packages]` install afterward, followed by `[bootstrap.hooks.post-packages]` 15. `mise run bootstrap` -- if a task named `bootstrap` is defined 16. `[bootstrap.hooks.final]` -- optional final hook The declarative steps converge -- anything already in its desired state is skipped, so re-running is safe. The `bootstrap` task runs on every invocation; keep it idempotent. Use it for any project-specific setup that doesn't fit the declarative sections (seeding databases, auth flows, etc.) -- it runs with the installed tools on PATH. Use `--skip ` to skip named parts, or `--only ` to run just named parts. Both flags can be repeated or comma-separated, but they cannot be used together. Usage: mise bootstrap [OPTIONS] [COMMAND] Options: -n, --dry-run Print what would happen without installing anything -y, --yes Skip confirmation prompts --force-dotfiles Overwrite existing files that conflict with whole-file dotfile entries --only Run only one or more bootstrap parts Can be passed multiple times or as a comma-separated list. Cannot be used with `--skip`. --prompt-secrets Prompt securely for missing bootstrap secret inputs --skip Skip one or more bootstrap parts Can be passed multiple times or as a comma-separated list. --update Refresh package manager metadata and update configured repos MISE BOOTSTRAP ACCOUNTS APPLY Apply configured Linux users and groups Usage: mise bootstrap accounts apply [OPTIONS] Options: -n, --dry-run Print what would change without changing anything -y, --yes Skip the confirmation prompt MISE BOOTSTRAP ACCOUNTS STATUS Show configured Linux user and group state Usage: mise bootstrap accounts status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 when any account is not converged MISE BOOTSTRAP COMPOSE APPLY Apply configured Docker Compose project state Usage: mise bootstrap compose apply [OPTIONS] Options: -n, --dry-run Print what would change without changing anything -y, --yes Skip the confirmation prompt MISE BOOTSTRAP COMPOSE STATUS Show configured Docker Compose project state Usage: mise bootstrap compose status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 when any Compose project is not converged MISE BOOTSTRAP DOTFILES ADD Add or update dotfiles in `[dotfiles]` If the target is already managed, this updates its source from the live target. Otherwise it creates a `[dotfiles]` entry and seeds the source under `dotfiles.root` unless `--source` is provided. Usage: mise bootstrap dotfiles add [OPTIONS] ... Options: -f, --force Overwrite existing sources without prompting -g, --global Write to the global config -l, --local Write to the local config instead of the global config -m, --mode Dotfile mode to write -n, --dry-run Print the config/source updates without writing anything --no-apply Add the entry without applying it -p, --path Write to this config file or directory -s, --source Source path to use for a single target -y, --yes Skip the confirmation prompt Arguments: Targets to add or update MISE BOOTSTRAP DOTFILES APPLY Apply dotfiles from `[dotfiles]` Applies configured whole-file entries and edits that aren't in their desired state. Whole-file entries may symlink, copy, or render templates. Edit entries manage a marker-delimited block or a single line in a file mise doesn't otherwise own. Usage: mise bootstrap dotfiles apply [OPTIONS] [] ... Options: -f, --force Overwrite existing files that conflict with whole-file dotfile entries -n, --dry-run Print the actions that would run without writing anything -y, --yes Skip the confirmation prompt Arguments: Only apply these targets MISE BOOTSTRAP DOTFILES EDIT Edit a managed dotfile source Usage: mise bootstrap dotfiles edit [OPTIONS] Options: --apply Apply this target after the editor exits -m, --mode Dotfile mode to use if the target is not yet managed -s, --source Source path to use if the target is not yet managed -y, --yes Skip the confirmation prompt when adding an unmanaged target Arguments: Target to edit MISE BOOTSTRAP DOTFILES STATUS Show the status of dotfiles from `[dotfiles]` Usage: mise bootstrap dotfiles status [OPTIONS] [] ... Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured dotfiles are not in their desired state (missing, source missing, differs) Arguments: Only show these targets MISE BOOTSTRAP DOTFILES UNAPPLY Remove dotfiles applied from `[dotfiles]` Removes configured whole-file entries and edits while preserving files mise cannot identify as managed. Modified copies, templates, and plain-line edits require `--force`. Usage: mise bootstrap dotfiles unapply [OPTIONS] [] ... Options: -f, --force Remove modified or otherwise ambiguous managed files and lines -n, --dry-run Print the actions that would run without writing anything -y, --yes Skip the confirmation prompt Arguments: Only unapply these targets MISE BOOTSTRAP FILES APPLY Apply configured privileged files and directories Usage: mise bootstrap files apply [OPTIONS] Options: -n, --dry-run Print what would change without changing anything -y, --yes Skip the confirmation prompt --prompt-secrets Prompt securely for missing bootstrap secret inputs MISE BOOTSTRAP FILES STATUS Show configured privileged file and directory state Usage: mise bootstrap files status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 when any resource is not converged --prompt-secrets Prompt securely for missing bootstrap secret inputs MISE BOOTSTRAP FIREWALL APPLY Apply the configured Linux host firewall Usage: mise bootstrap firewall apply [OPTIONS] Options: -n, --dry-run Print what would change without changing anything -y, --yes Skip the confirmation prompt MISE BOOTSTRAP FIREWALL STATUS Show configured Linux host firewall state Usage: mise bootstrap firewall status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 when the firewall is not converged MISE BOOTSTRAP LINUX SYSTEMD-UNITS APPLY Usage: mise bootstrap linux systemd-units apply [OPTIONS] Options: -n, --dry-run Print the commands that would run without running them -y, --yes Skip the confirmation prompt MISE BOOTSTRAP LINUX SYSTEMD-UNITS STATUS Usage: mise bootstrap linux systemd-units status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured systemd user service is not in its desired state MISE BOOTSTRAP MACOS DEFAULTS APPLY Usage: mise bootstrap macos defaults apply [OPTIONS] Options: -n, --dry-run Print the commands that would run without running them -y, --yes Skip the confirmation prompt MISE BOOTSTRAP MACOS DEFAULTS STATUS Usage: mise bootstrap macos defaults status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured defaults are not in their desired state MISE BOOTSTRAP MACOS LAUNCHD-AGENTS APPLY Usage: mise bootstrap macos launchd-agents apply [OPTIONS] Options: -n, --dry-run Print the commands that would run without running them -y, --yes Skip the confirmation prompt MISE BOOTSTRAP MACOS LAUNCHD-AGENTS STATUS Usage: mise bootstrap macos launchd-agents status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured LaunchAgent is not in its desired state MISE BOOTSTRAP MISE-SHELL-ACTIVATE APPLY Usage: mise bootstrap mise-shell-activate apply [OPTIONS] Options: -n, --dry-run Print the actions that would run without writing anything -y, --yes Skip the confirmation prompt MISE BOOTSTRAP MISE-SHELL-ACTIVATE STATUS Usage: mise bootstrap mise-shell-activate status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured shell activation is not in its desired state MISE BOOTSTRAP PACKAGES APPLY Apply system packages from `[bootstrap.packages]` Checks which configured packages are missing and installs them with the system package manager. Built-in system managers may elevate with sudo when not running as root (see `system_packages.sudo`); package plugins never do. Packages can also be given explicitly in `manager:package` form (e.g. `apk:zlib-dev`, `apt:curl`, `brew:jq`); they are installed whether or not they appear in the config. Explicit packages and `--manager` scope the run to packages only. `install` is accepted as an alias for this command. Usage: mise bootstrap packages apply [OPTIONS] [] ... Options: -m, --manager Only install packages for this built-in or plugin manager -n, --dry-run Print the commands that would run without running them -y, --yes Skip the confirmation prompt --update Refresh package manager metadata first (apk: `--update-cache`, apt: `apt-get update`) Arguments: Packages in `manager:package` form; defaults to everything configured in [bootstrap.packages] MISE BOOTSTRAP PACKAGES BREW TAP Add a Homebrew tap URL to [bootstrap.brew.taps] Usage: mise bootstrap packages brew tap [OPTIONS] [] Options: -l, --local Write to the local config instead of the global config -n, --dry-run Print the config change without writing it -p, --path, --file Write to this config file or directory Arguments: Tap name, e.g. `owner/repo` GitHub URL for the tap. Defaults to https://github.com//homebrew-.git MISE BOOTSTRAP PACKAGES BREW UNTAP Remove Homebrew tap URLs from [bootstrap.brew.taps] Usage: mise bootstrap packages brew untap [OPTIONS] ... Options: -l, --local Write to the local config instead of the global config -n, --dry-run Print the config change without writing it -p, --path, --file Write to this config file or directory Arguments: Tap name(s), e.g. `owner/repo` MISE BOOTSTRAP PACKAGES IMPORT Import installed system packages into `[bootstrap.packages]` Currently supports Homebrew formulae only. By default, imports linked formulae whose active keg receipt says they were installed on request. Pass `--all` to import every linked formula, including dependencies. Usage: mise bootstrap packages import [OPTIONS] Options: -e, --env Write to the config file for this environment (mise..toml) -g, --global Write to the global config (~/.config/mise/config.toml) -m, --manager Only import packages for this manager. Currently only `brew` is supported Default: brew --all Import every linked formula, including dependencies -n, --dry-run Print the config change without writing config -p, --path, --file Write to this config file or directory MISE BOOTSTRAP PACKAGES PRUNE Prune installed system packages no longer declared in `[bootstrap.packages]` Supports Homebrew formulae and conservatively removable, mise-owned casks. Pruning keeps packages needed by the current config or by trusted, loadable tracked configs. Usage: mise bootstrap packages prune [OPTIONS] Options: -m, --manager Only prune packages for this manager Default: brew -n, --dry-run Print what would be removed without deleting anything -y, --yes Skip the confirmation prompt MISE BOOTSTRAP PACKAGES STATUS Show the status of system packages from `[bootstrap.packages]` Usage: mise bootstrap packages status [OPTIONS] Options: -J, --json Output in JSON format --missing Exit with code 1 if any configured packages are not in their desired state MISE BOOTSTRAP PACKAGES UPGRADE Upgrade installed bootstrap packages from `[bootstrap.packages]` Refreshes package manager metadata and upgrades the configured packages that are already installed: apk/apt/dnf/pacman upgrade to the newest available version (apk, apt, and dnf honor a version pinned in config), brew pours the formula's current bottle and replaces the old keg, brew-cask installs the current cask artifact, flatpak and flatpak-user update applications and runtimes, and mas upgrades App Store apps. Packages that are not installed yet are skipped -- use `mise bootstrap packages apply` for those. Packages can also be given explicitly in `manager:package` form. Usage: mise bootstrap packages upgrade [OPTIONS] [] ... Options: -m, --manager Only upgrade packages for this built-in or plugin manager -n, --dry-run Print the commands that would run without running them -y, --yes Skip the confirmation prompt Arguments: Packages in `manager:package` form; defaults to everything configured in [bootstrap.packages] MISE BOOTSTRAP PACKAGES USE Add bootstrap packages to [bootstrap.packages] and install them Like `mise use` for tools: writes `"manager:package" = "version"` entries to mise.toml (the local config by default, the global one with `-g`) and then installs whatever is missing. Versions are pinned with `@`: `mise bootstrap packages use apt:curl@8.5.0-2`. Without `@` (or with `@latest`) no pin is written. brew formulae and casks version through their names instead (for example `brew:postgresql@17`, `brew-cask:temurin@17`), where `@` is part of the Homebrew name rather than a mise version selector. mas uses numeric ADAM IDs and does not support pins. Usage: mise bootstrap packages use [OPTIONS] ... Options: -e, --env Write to the config file for this environment (mise..toml) -g, --global Write to the global config (~/.config/mise/config.toml) instead of the local one -n, --dry-run Print the commands that would run without writing config or installing -p, --path, --file Write to this config file or directory -y, --yes Skip the confirmation prompt Arguments: Packages in `manager:package[@version]` form MISE BOOTSTRAP PLAN Show the changes declarative bootstrap resources would make Usage: mise bootstrap plan [OPTIONS] Options: -J, --json Output a stable machine-readable plan in JSON format --detailed-exitcode Exit 2 when the plan contains changes, 0 when unchanged, and 1 on errors --prompt-secrets Prompt securely for missing bootstrap secret inputs MISE BOOTSTRAP PLUGINS APPLY Usage: mise bootstrap plugins apply [OPTIONS] Options: -n, --dry-run Print what would happen without installing plugins MISE BOOTSTRAP PLUGINS STATUS Usage: mise bootstrap plugins status [OPTIONS] Options: --missing Exit with code 1 if a declared plugin is missing MISE BOOTSTRAP REMOTE Bootstrap one or more machines over OpenSSH Usage: mise bootstrap remote [OPTIONS] [] ... Options: --all Select every configured inventory host --bootstrap-command Explicit remote shell command that installs mise and places it on PATH --connect-timeout SSH connection timeout in seconds Default: 10 --exclude Additional archive pattern to exclude; repeat for multiple patterns --fail-fast Stop after the first failed target --force-dotfiles Allow remote dotfile conflicts to be replaced --host <[USER@]HOST> Ad-hoc SSH destination (`[user@]host`); repeat for multiple hosts -i, --identity-file SSH identity file override -n, --dry-run Print the remote bootstrap changes without applying them --keep-staging Keep the remote staging directory for debugging --mise-bin Local mise binary to upload (escape hatch for custom architectures) --only Run only one or more remote bootstrap parts --port SSH port override --prompt-secrets Prompt securely for missing secret inputs on the remote host --remote-mise Existing mise executable name or path; relative paths use the staged project --skip Skip one or more remote bootstrap parts --source Local directory archived and sent to each target --ssh-option