Skip to content

MISE_* environment variables ​

Every setting except the write_targets tables also has a MISE_* environment variable, listed in its entry on the Settings page; for example, MISE_JOBS=4 sets jobs. This page lists the variables that are not settings, plus a few hidden settings that are only useful as variables.

Set them in the environment that starts mise, such as your shell startup file or a CI job.

Directories ​

Each of these moves one of mise's directories. Directories lists their defaults and what each one holds.

VariableDirectory
MISE_CONFIG_DIRGlobal config
MISE_DATA_DIRInstalled tools and plugins
MISE_CACHE_DIRCache
MISE_STATE_DIRLocal state
MISE_TMP_DIRTemporary files
MISE_SYSTEM_CONFIG_DIRSystem config; MISE_SYSTEM_DIR is an older name
MISE_INSTALLS_DIRInstalled versions
MISE_INSTALL_STORE_DIRInstall store for the identity layout
MISE_PLUGINS_DIRPlugins
MISE_DOWNLOADS_DIRDownloads
MISE_SYSTEM_DATA_DIRSystem installs and shims

Config files ​

MISE_<TOOL>_VERSION ​

Selects a version of one tool and overrides every config file for the commands that see it:

sh
MISE_NODE_VERSION=22 mise exec -- node --version
# v22.x.x

Write the tool name in upper case with - changed to _, as in MISE_LS_LINT_VERSION for ls-lint. Separate several versions with spaces. mise shell sets this variable for the current shell session. See Version requests and version files for the accepted versions.

MISE_NO_CONFIG ​

Set to 1 to load no config files at all, the same as the --no-config flag.

Settings for config files ​

mise reads these settings before any mise.toml, because they control which config files it loads or, for global_config_root, the config root of the global config. Some of them work only as environment variables; the last column says where else you can set each one. See Settings with restricted locations.

VariableSettingAlso works in
MISE_ENVenv, the config environments to load.miserc.toml and the -E flag
MISE_AUTO_ENVauto_env.miserc.toml
MISE_ENV_CONF_Denv_conf_d.miserc.toml
MISE_CEILING_PATHSceiling_paths.miserc.toml
MISE_IGNORED_CONFIG_PATHSignored_config_paths.miserc.toml
MISE_OVERRIDE_CONFIG_FILENAMESoverride_config_filenames.miserc.toml
MISE_OVERRIDE_TOOL_VERSIONS_FILENAMESoverride_tool_versions_filenames.miserc.toml
MISE_GLOBAL_CONFIG_FILEglobal_config_file; MISE_CONFIG_FILE is an older nameNowhere else
MISE_GLOBAL_CONFIG_ROOTglobal_config_rootNowhere else
MISE_SYSTEM_CONFIG_FILEsystem_config_fileNowhere else
MISE_DEFAULT_CONFIG_FILENAMEdefault_config_filenameNowhere else
MISE_DEFAULT_TOOL_VERSIONS_FILENAMEdefault_tool_versions_filenameNowhere else

You can also set these under [settings] in a config file:

VariableSetting
MISE_TRUSTED_CONFIG_PATHStrusted_config_paths, in global or system config only
MISE_ENV_FILEenv_file
MISE_NO_ENVno_env, the same as --no-env
MISE_NO_HOOKSno_hooks, the same as --no-hooks

Logging and output ​

MISE_DEBUG and MISE_TRACE ​

Set MISE_DEBUG=1 for debug logs, or MISE_TRACE=1 for trace logs, which are more detailed. They match the -v and -vv flags. Use them, not RUST_LOG, when you report a problem.

MISE_LOG_LEVEL ​

Sets the log level: trace, debug, info (the default), warn, or error. MISE_QUIET=1 also sets the level to error, and it hides task headers and progress as well. The hidden --log-level flag takes the same levels.

MISE_LOG_FILE ​

Also writes logs to this file, appending to it and creating its directory if needed:

sh
MISE_LOG_FILE=~/mise.log mise install

MISE_LOG_FILE_LEVEL ​

Sets the level for the log file, so you can keep detailed logs without cluttering the terminal. It takes the same values as MISE_LOG_LEVEL and defaults to the terminal's level.

MISE_LOG_HTTP ​

Set to 1 to print every HTTP request mise sends, after URL replacements, with its response status:

text
GET https://mise-versions.jdx.dev/data/jq.toml 200 OK

MISE_LOG_VERBOSE_DEPS ​

mise always drops debug and trace logs from noisy libraries such as h2, hyper, reqwest, and rustls, which log every HTTP/2 frame or socket read. Set this to 1 to let them through; it is the only way to see them, even with MISE_TRACE=1 or -vv.

MISE_TIMINGS ​

Set to 1 to print how long each step of a command takes, or 2 for a detailed breakdown with cumulative times. See Troubleshooting for profiling a slow prompt.

MISE_FRIENDLY_ERROR ​

mise prints short error messages unless debug logging is on. Set this to 0 to print the full error report, with its cause chain and the source location, or to 1 to keep short messages even with debug logging.

MISE_TERM_WIDTH ​

Sets the terminal width mise uses for tables and lists, such as mise ls. Without it, mise uses COLUMNS and then the width it detects. Set it in CI and other non-interactive environments where detection returns a bad value, such as CircleCI, which reports a width of 0. The value is used exactly, so you can also force a narrower width:

sh
MISE_TERM_WIDTH=120 mise ls

Settings for output ​

VariableSetting
MISE_QUIETquiet
MISE_VERBOSEverbose
MISE_COLORcolor
MISE_RAWraw
MISE_YESyes

Shells ​

MISE_FISH_AUTO_ACTIVATE ​

Homebrew and other packages install a fish vendor_conf.d script that activates mise automatically. Set this to 0 to turn that off:

fish
set -Ux MISE_FISH_AUTO_ACTIVATE 0

See Shell setup.

Networking ​

MISE_LIST_ALL_VERSIONS ​

Set to 1 to read every page of a repository's GitHub, GitLab, or Forgejo releases or tags instead of stopping early. It applies to every backend and core tool that lists versions from those forges, such as the github and aqua backends and Go. Use it when an older release is missing from mise ls-remote; listing takes longer and uses more API requests.

Tokens ​

MISE_GITHUB_TOKEN, MISE_GITLAB_TOKEN, MISE_FORGEJO_TOKEN, and the other token variables are described in GitHub, GitLab, and Forgejo tokens.

Settings for networking ​

VariableSetting
MISE_OFFLINEoffline
MISE_PREFER_OFFLINEprefer_offline
MISE_HTTP_TIMEOUThttp_timeout
MISE_URL_REPLACEMENTSurl_replacements

Variables mise sets ​

mise also sets variables for the commands it runs, such as MISE_ENV and the MISE_TASK_* variables in tasks. See Task environment and Hooks.

MIT LicenseCopyright © 2026jdx.dev