Skip to content

Settings

The following is a list of all of mise's settings. These can be set via mise settings set, by directly modifying ~/.config/mise/config.toml or local config, or via environment variables.

Some of them also can be set via global CLI flags.

activate_aggressive

  • Type: bool
  • Env: MISE_ACTIVATE_AGGRESSIVE
  • Default: false

Pushes tools' bin-paths to the front of PATH instead of allowing modifications of PATH after activation to take precedence. For example, if you have the following in your mise.toml:

[tools]
node = '20'
python = '3.12'

But you also have this in your ~/.zshrc:

eval "$(mise activate zsh)"
PATH="/some/other/python:$PATH"

What will happen is /some/other/python will be used instead of the python installed by mise. This means you typically want to put mise activate at the end of your shell config so nothing overrides it.

If you want to always use the mise versions of tools despite what is in your shell config, set this to true. In that case, using this example again, /some/other/python will be after mise's python in PATH.

all_compile

  • Type: bool
  • Env: MISE_ALL_COMPILE
  • Default: false

Default: false unless running NixOS or Alpine (let me know if others should be added)

Do not use precompiled binaries for all languages. Useful if running on a Linux distribution like Alpine that does not use glibc and therefore likely won't be able to run precompiled binaries.

Note that this needs to be setup for each language. File a ticket if you notice a language that is not working with this config.

always_keep_download

  • Type: bool
  • Env: MISE_ALWAYS_KEEP_DOWNLOAD
  • Default: false

should mise keep downloaded files after installation

always_keep_install

  • Type: bool
  • Env: MISE_ALWAYS_KEEP_INSTALL
  • Default: false

should mise keep install files after installation even if the installation fails

asdf

  • Type: bool
  • Env: MISE_ASDF
  • Default: true

Use asdf as a default plugin backend. This means running something like mise use cmake will default to using an asdf plugin for cmake.

asdf_compat

  • Type: bool
  • Env: MISE_ASDF_COMPAT
  • Default: false

Only output .tool-versions files in mise local|global which will be usable by asdf. This disables mise functionality that would otherwise make these files incompatible with asdf such as non-pinned versions.

This will also change the default global tool config to be ~/.tool-versions instead of ~/.config/mise/config.toml.

cache_prune_age

  • Type: string
  • Env: MISE_CACHE_PRUNE_AGE
  • Default: 30d

The age of the cache before it is considered stale. mise will occasionally delete cache files which have not been accessed in this amount of time.

Set to 0 to keep cache files indefinitely.

cargo_binstall

  • Type: bool
  • Env: MISE_CARGO_BINSTALL
  • Default: true

Use cargo-binstall instead of cargo install if available

color

  • Type: bool
  • Env: MISE_COLOR
  • Default: true

Use color in mise terminal output

disable_default_shorthands

  • Type: bool
  • Env: MISE_DISABLE_DEFAULT_SHORTHANDS
  • Default: false

Disables the shorthand aliases for installing plugins. You will have to specify full URLs when installing plugins, e.g.: mise plugin install node https://github.com/asdf-vm/asdf-node.git

disable_hints

  • Type: string[]
  • Env: MISE_DISABLE_HINTS
  • Default: []

Turns off helpful hints when using different mise features

disable_tools

  • Type: string[]
  • Env: MISE_DISABLE_TOOLS
  • Default: []

Tools defined in mise.toml that should be ignored

experimental

  • Type: bool
  • Env: MISE_EXPERIMENTAL
  • Default: false

Enables experimental features. I generally will publish new features under this config which needs to be enabled to use them. While a feature is marked as "experimental" its behavior may change or even disappear in any release.

The idea is experimental features can be iterated on this way so we can get the behavior right, but once that label goes away you shouldn't expect things to change without a proper deprecation—and even then it's unlikely.

Also, I very often will use experimental as a beta flag as well. New functionality that I want to test with a smaller subset of users I will often push out under experimental mode even if it's not related to an experimental feature.

If you'd like to help me out, consider enabling it even if you don't have a particular feature you'd like to try. Also, if something isn't working right, try disabling it if you can.

go_default_packages_file

  • Type: string
  • Env: MISE_GO_DEFAULT_PACKAGES_FILE
  • Default: ~/.default-go-packages

Path to a file containing default go packages to install when installing go

go_download_mirror

  • Type: string
  • Env: MISE_GO_DOWNLOAD_MIRROR
  • Default: https://dl.google.com/go

Mirror to download go sdk tarballs from.

go_repo

  • Type: string
  • Env: MISE_GO_REPO
  • Default: https://github.com/golang/go

URL to fetch go from.

go_set_gobin

  • Type: bool(optional)
  • Env: MISE_GO_SET_GOBIN
  • Default: None

Defaults to ~/.local/share/mise/installs/go/.../bin. Set to true to override GOBIN if previously set. Set to false to not set GOBIN (default is ${GOPATH:-$HOME/go}/bin).

go_set_gopathdeprecated

  • Type: bool
  • Env: MISE_GO_SET_GOPATH
  • Default: false

[deprecated] Set to true to set GOPATH=~/.local/share/mise/installs/go/.../packages.

go_set_goroot

  • Type: bool
  • Env: MISE_GO_SET_GOROOT
  • Default: true

Sets GOROOT=~/.local/share/mise/installs/go/.../.

go_skip_checksum

  • Type: bool
  • Env: MISE_GO_SKIP_CHECKSUM
  • Default: false

Set to true to skip checksum verification when downloading go sdk tarballs.

http_timeout

  • Type: integer
  • Env: MISE_HTTP_TIMEOUT
  • Default: 30

Timeout in seconds for all HTTP requests in mise.

jobs

  • Type: integer
  • Env: MISE_JOBS
  • Default: 4

How many jobs to run concurrently such as tool installs.

legacy_version_file

  • Type: bool
  • Env: MISE_LEGACY_VERSION_FILE
  • Default: true

Plugins can read the versions files used by other version managers (if enabled by the plugin) for example, .nvmrc in the case of node's nvm. See legacy version files for more information.

Set to "0" to disable legacy version file parsing.

legacy_version_file_disable_tools

  • Type: string[]
  • Env: MISE_LEGACY_VERSION_FILE_DISABLE_TOOLS
  • Default: []

Specific tools to disable idiomatic version files for.

libgit2

  • Type: bool
  • Env: MISE_LIBGIT2
  • Default: true

Use libgit2 for git operations. This is generally faster but may not be as compatible if the system's libgit2 is not the same version as the one used by mise.

not_found_auto_install

  • Type: bool
  • Env: MISE_NOT_FOUND_AUTO_INSTALL
  • Default: true

Set to false to disable the "command not found" handler to autoinstall missing tool versions. Disable this if experiencing strange behavior in your shell when a command is not found—but please submit a ticket to help diagnose problems.

paranoid

  • Type: bool
  • Env: MISE_PARANOID
  • Default: false

Enables extra-secure behavior. See Paranoid.

pin

  • Type: bool
  • Env: MISE_PIN
  • Default: false

This sets --pin by default when running mise use in mise.toml files. This can be overridden by passing --fuzzy on the command line.

pipx_uvx

  • Type: bool
  • Env: MISE_PIPX_UVX
  • Default: false

Use uvx instead of pipx if uv is installed and on PATH.

plugin_autoupdate_last_check_duration

  • Type: string
  • Env: MISE_PLUGIN_AUTOUPDATE_LAST_CHECK_DURATION
  • Default: 7d

How long to wait before updating plugins automatically (note this isn't currently implemented).

python_compile

  • Type: bool(optional)
  • Env: MISE_PYTHON_COMPILE
  • Default: None

If true, compile python from source. If false, use precompiled binaries. If not set, use precompiled binaries if available.

python_default_packages_file

  • Type: string(optional)
  • Env: MISE_PYTHON_DEFAULT_PACKAGES_FILE
  • Default: None

Path to a file containing default python packages to install when installing python.

python_patch_url

  • Type: string(optional)
  • Env: MISE_PYTHON_PATCH_URL
  • Default: None

URL to fetch python patches from.

python_patches_directory

  • Type: string(optional)
  • Env: MISE_PYTHON_PATCHES_DIRECTORY
  • Default: None

Directory to fetch python patches from.

python_precompiled_arch

  • Type: string(optional)
  • Env: MISE_PYTHON_PRECOMPILED_ARCH
  • Default: None

Specify the architecture to use for precompiled binaries.

python_precompiled_os

  • Type: string(optional)
  • Env: MISE_PYTHON_PRECOMPILED_OS
  • Default: None

Specify the OS to use for precompiled binaries.

python_pyenv_repo

  • Type: string
  • Env: MISE_PYENV_REPO
  • Default: https://github.com/pyenv/pyenv.git

URL to fetch pyenv from for compiling python.

quiet

  • Type: bool
  • Env: MISE_QUIET
  • Default: false

Suppress all output except errors.

raw

  • Type: bool
  • Env: MISE_RAW
  • Default: false

Connect stdin/stdout/stderr to child processes.

shorthands_file

  • Type: string(optional)
  • Env: MISE_SHORTHANDS_FILE
  • Default: None

Use a custom file for the shorthand aliases. This is useful if you want to share plugins within an organization.

Shorthands make it so when a user runs something like mise install elixir mise will automatically install the asdf-elixir plugin. By default, it uses the shorthands in src/default_shorthands.rs.

The file should be in this toml format:

elixir = "https://github.com/my-org/mise-elixir.git"
node = "https://github.com/my-org/mise-node.git"

task_output

  • Type: string(optional)
  • Env: MISE_TASK_OUTPUT
  • Default: None
  • Choices:
    • prefix – (default if jobs > 1) print by line with the prefix of the task name
    • interleave – (default if jobs > 1) print by line with the prefix of the task name

Change output style when executing tasks. This controls the output of mise run.

trusted_config_paths

  • Type: string[]
  • Env: MISE_TRUSTED_CONFIG_PATHS
  • Default: []

This is a list of config paths that mise will automatically mark as trusted.

use_versions_host

  • Type: bool
  • Env: MISE_USE_VERSIONS_HOST
  • Default: true

Set to "false" to disable using mise-versions as a quick way for mise to query for new versions. This host regularly grabs all the latest versions of core and community plugins. It's faster than running a plugin's list-all command and gets around GitHub rate limiting problems when using it.

See FAQ for more information.

verbose

  • Type: bool
  • Env: MISE_VERBOSE
  • Default: false

Shows more verbose output such as installation logs when installing tools.

vfox

  • Type: bool
  • Env: MISE_VFOX
  • Default: false

Use vfox as a default plugin backend. This means running something like mise use cmake will default to using an vfox plugin for cmake.

yes

  • Type: bool
  • Env: MISE_YES
  • Default: false

This will automatically answer yes or no to prompts. This is useful for scripting.

node

node.compile

  • Type: bool(optional)
  • Env: MISE_NODE_COMPILE
  • Default: None

Compile node from source.

node.flavor

  • Type: string(optional)
  • Env: MISE_NODE_FLAVOR
  • Default: None

Install a specific node flavor like glibc-217 or musl. Use with unofficial node build repo.

node.mirror_url

  • Type: string(optional)
  • Env: MISE_NODE_MIRROR_URL
  • Default: None

Mirror to download node tarballs from.

ruby

ruby.apply_patches

  • Type: string(optional)
  • Env: MISE_RUBY_APPLY_PATCHES
  • Default: None

A list of patch files or URLs to apply to ruby source.

ruby.default_packages_file

  • Type: string
  • Env: MISE_RUBY_DEFAULT_PACKAGES_FILE
  • Default: ~/.default-gems

Path to a file containing default ruby gems to install when installing ruby.

ruby.ruby_build_opts

  • Type: string(optional)
  • Env: MISE_RUBY_BUILD_OPTS
  • Default: None

Options to pass to ruby-build.

ruby.ruby_build_repo

  • Type: string
  • Env: MISE_RUBY_BUILD_REPO
  • Default: https://github.com/rbenv/ruby-build.git

URL to fetch ruby-build from.

ruby.ruby_install

  • Type: bool
  • Env: MISE_RUBY_INSTALL
  • Default: false

Use ruby-install instead of ruby-build.

ruby.ruby_install_opts

  • Type: string(optional)
  • Env: MISE_RUBY_INSTALL_OPTS
  • Default: None

Options to pass to ruby-install.

ruby.ruby_install_repo

  • Type: string
  • Env: MISE_RUBY_INSTALL_REPO
  • Default: https://github.com/postmodern/ruby-install.git

URL to fetch ruby-install from.

ruby.verbose_install

  • Type: bool(optional)
  • Env: MISE_RUBY_VERBOSE_INSTALL
  • Default: None

Set to true to enable verbose output during ruby installation.

status

status.missing_tools

  • Type: string
  • Env: MISE_STATUS_MESSAGE_MISSING_TOOLS
  • Default: if_other_versions_installed
Choice Description
if_other_versions_installed [default] Show the warning only when the tool has at least 1 other version installed
always Always show the warning
never Never show the warning

Show a warning if tools are not installed when entering a directory with a mise.toml file.

::: tip Disable tools with disable_tools. :::

status.show_env

  • Type: bool
  • Env: MISE_STATUS_MESSAGE_SHOW_ENV
  • Default: false

Show configured env vars when entering a directory with a mise.toml file.

status.show_tools

  • Type: bool
  • Env: MISE_STATUS_MESSAGE_SHOW_TOOLS
  • Default: false

Show configured env vars when entering a directory with a mise.toml file.

Licensed under the MIT License. Maintained by @jdx and friends.