Glossary
Each term links to the page that explains it.
Tools and versions
Tool
A program that mise installs and puts on PATH for a project, such as node, terraform, or jq. Declare tools under [tools] in mise.toml. See Dev tools.
Backend
Where mise gets a tool and how it installs it, such as aqua, github, npm, or pypi (also accepted as pipx). Core tools use installers built into mise. The ubi backend is deprecated; use github, or gitlab or http for other hosts, as the ubi migration guide describes. See Backends.
Backend identifier
A tool name with its backend prefix, such as aqua:aws/aws-cli or npm:prettier. Use one in mise.toml or on the command line for a tool that has no registry short name, or to choose a backend yourself. See Backend identifiers.
Core tools
Languages whose installers are built into mise, such as Node.js, Python, Ruby, Go, and Java. They need no plugin. See Core tools overview.
Registry
The list of short tool names that mise knows, each mapped to one or more backends. For example, aws-cli maps to aqua:aws/aws-cli. See Registry.
Plugin
An extension, written in Lua or as legacy asdf shell scripts, that adds a tool, a backend, environment directives, or a bootstrap package manager. Most tools need no plugin. See Plugins.
Toolset
The tools and versions that apply in a directory after mise combines every config file that applies there. mise ls --current lists it.
Version request
The version you ask for, such as "24" in node = "24", latest, or ref:main. mise resolves it to a concrete version. See Version requests and version files.
Version prefix
A version request that names only the start of a version, such as node@24 or python@3.14. It matches at separators, so 1.2 matches 1.2.3 but not 1.20. See Request syntax.
Resolved version
The concrete version that a request selects, such as 24.11.1 for node = "24". mise prefers the version in the lockfile, then a matching installed version. See How a request resolves.
Pin
To record an exact version instead of a prefix. mise use --pin node@24 writes the resolved version, such as node = "24.11.1", to the config file. A lockfile records exact versions while the config keeps the prefix. See Pin a version or use a lockfile.
Lockfile
mise.lock, a file that records the resolved version of each tool and, for backends that support it, its download URL and checksum for each platform, so every machine installs the same build. See Lockfile (mise.lock).
Idiomatic version file
Another tool's version file, such as .nvmrc, .python-version, or .ruby-version. mise reads one only for tools you enable with idiomatic_version_file_enable_tools. See Idiomatic version files.
.tool-versions
The version file that asdf uses, with one tool per line, such as node 24.11.1. mise reads it alongside mise.toml. See .tool-versions.
Tool options
Settings for one tool entry, such as a download URL, an asset pattern, os, or a postinstall command, written as a table: node = { version = "24", postinstall = "corepack enable" }. See Tool options.
Tool alias
A name defined under [tool_alias] that points a tool at another backend, or gives a version request a name. See Tool aliases.
Lazy tool
A tool marked lazy = true. mise install skips it, and mise installs it the first time one of its commands runs. See Lazy tools.
Tool stub
An executable file, usually committed to a repository, that names one tool and version. Running it installs the tool if needed and runs it with your arguments. See Tool stubs.
Versions host
mise-versions, a service that serves version lists and GitHub release metadata for most tools, so mise makes fewer requests to GitHub. Turn it off with use_versions_host. See A new release is not listed.
Configuration
mise.toml
The project config file. It declares tools, environment variables, tasks, hooks, and settings. It can also be named .mise.toml or live in .config/, .mise/, or mise/; see Config file locations.
mise.local.toml
Your personal overrides for a project's mise.toml. Keep it out of Git with .git/info/exclude or a global ignore file.
Global config
~/.config/mise/config.toml, which applies in every directory. mise use -g writes to it, and project config overrides it. See Global and system config.
Config file precedence
mise loads the config files from the current directory up to the root, plus global and system config. When two files set the same thing, the file closest to the current directory wins. mise config ls lists the files mise loaded. See How config files combine.
Config environment
An extra config file such as mise.production.toml, loaded on top of mise.toml when you select it with -E production or MISE_ENV=production. See Config environments.
config_root
The directory that a config file's relative paths resolve against, and the value of {{ config_root }} in its templates. For project config it is the project directory, even when the file lives in .config/mise/. See config_root.
Project root
The directory of the project you are working in, given to tasks and hooks as MISE_PROJECT_ROOT. In a monorepo, a task gets the root of the subproject that defines it. See Task environment.
Settings
Options that control mise itself, set under [settings] in a config file, with mise settings, or with MISE_* environment variables. Some can only be set in global config. See Settings.
Tera templates
Values such as {{ env.HOME }} or {{ arch() }} that mise renders when it reads a config file. See Tera templates.
Directories
mise keeps installed tools, cached metadata, global config, and state such as trust records in separate directories. The defaults and the MISE_*_DIR variables that move them are listed in Directories.
Shell and environment
Shell activation
Running mise activate from your shell's startup file, such as eval "$(mise activate zsh)" in ~/.zshrc. mise then sets PATH and [env] variables for the current directory and updates them as you move between projects. See Shell setup.
hook-env
The internal command that activation runs before each prompt to update the environment for the current directory. Run it with MISE_TIMINGS=1 to profile a slow prompt.
Shims
Small executables named after a tool's commands, such as node, kept in a shim directory. Each one selects the version for the current directory and runs it, so editors and other programs that never load an activated shell can use mise tools. See Shims.
Reshim
Rebuilding the shims. mise does it when it installs or removes a tool. Run mise reshim after another program adds executables to an installed tool, such as a global npm install. See Shims.
Command wrapper
A command defined under [wrappers] that keeps its name but runs another program, such as terraform running tofu. See Command wrappers.
Env directives
Keys under [env] that start with _. and do more than set one variable: _.file loads a dotenv file, _.path adds directories to PATH, _.source runs a script and keeps its exports, and _.python.venv activates a virtualenv. See Env directives.
Tool-dependent environment
An [env] entry with tools = true, which mise resolves after it adds tools to PATH, so the value can use them. See Use values that tools set.
Redaction
Replacing values marked redact = true with [redacted] in task output and logs that mise captures. Raw and interactive task output is not redacted. See Redaction and CI masking.
Shell aliases
Aliases declared under [shell_alias], such as ll = "ls -la", that mise sets when you enter a project and removes when you leave. They work in Bash, Zsh, and Fish. See Shell aliases.
Hooks
Commands that run on an event: enter, leave, and cd when an activated shell changes directory, preinstall and postinstall around tool installs, and [[watch_files]] entries when a watched file changes. See Hooks.
direnv
A separate tool that changes the environment per directory. mise's [env] covers the same needs, and running both together is unsupported. See Migrating from direnv.
Tasks
Task
A named command or script that runs with the project's tools and environment variables. See Tasks.
TOML task
A task defined under [tasks] in mise.toml. See TOML tasks.
File task
A task defined as an executable script in a task directory such as mise-tasks/ or .mise/tasks/. See File tasks.
Task dependencies
The order between tasks: depends runs other tasks first, depends_post runs them after, and wait_for waits for tasks that are already part of the run. See Dependencies and execution order.
Monorepo root
The root mise.toml of a repository that holds several projects, marked with monorepo_root = true. Each subproject's tasks get a path-based name, such as //projects/api:build, that runs from anywhere in the repository. List the subprojects in [monorepo].config_roots; finding them by walking the filesystem is deprecated. See Monorepo tasks.
Security
Trust
Your approval for mise to load a project config file that can run code, such as one with [env], hooks, templates, or tool options. Give it with mise trust. See Configuration trust.
Safe mode
A mode, turned on with MISE_SAFE=1, that loads project config without trust but skips or refuses everything in it that would run code, such as hooks, tasks, and exec() in templates. Use it for automation that reads config it does not control. See Safe mode.
Paranoid mode
A setting that requires trust for every project config file, again whenever the file changes. It also turns off automatic trust, including in CI, and re-verifies provenance on every install. See Paranoid mode.
Machine setup
Bootstrap
mise bootstrap, which sets up a machine from your config: host packages, system files, services, Git repositories, dotfiles, shell activation, and tools. See Bootstrap.
Bootstrap packages
Packages declared in [bootstrap.packages] and installed with the host's package managers, such as apt, Homebrew, or WinGet. The whole machine shares them, unlike the per-project versions in [tools]. See Bootstrap packages.
Dotfiles
Configuration files in your home directory, such as ~/.zshrc. mise can keep a history of their changes, and copy, link, or generate them from your config. See Dotfiles.
Daemon
A process that keeps running between commands, such as a database or a development server, declared in mise.toml and supervised by pitchfork. Daemons are experimental. See Daemons.