mise.toml reference
This page lists every key mise reads from a mise.toml, with its type and what it does. It is generated from schema/mise.json, the same schema editors use to complete and check a config, so it always matches the version of mise these docs describe. For how the sections fit together, start with mise.toml; settings have their own reference.
Names in angle brackets, such as tasks.<name>, stand for a key you choose. A type such as string | string[] means either form works. Open a key to see the keys inside it, or filter by name or description. A key that has the same keys as another links to it instead of listing them again. The reference is also plain Markdown, one file per section, starting at reference.md, for reading without this page's scripts.
To see what each key in one of your own files does, run mise config explain, or paste the file into the mise.toml playground, which explains each key as you hover it.
_
- Type:
table
aliasdeprecated
custom shorthands
- Type:
table - Same keys as
tool_alias.
bootstrap
machine-global bootstrapping (system packages, repos, macOS defaults, launchd agents, login shell)
- Type:
table
- Managed system files keyed by absolute target path
- Managed system directories keyed by absolute target path
dotfile_groupsstring[]the dotfile groups this machine applies; when unset, every group applies. Entries without a group always apply, and a more local config's list replaces the others- deprecated and will be removed in mise 2027.3.3; move each selected root into a conf.d folder instead (https://mise.jdx.dev/configuration.html#conf-d-folders)
- OpenSSH targets used by
mise bootstrap remote - System services and portable user services managed by mise bootstrap, keyed by service name
- Docker Compose projects managed with
mise bootstrap compose, keyed by project name. Text fields support Tera templates. - package manager plugins to install with
mise bootstrap plugins apply, keyed by manager name - system packages to install with
mise bootstrap packages apply, keyed by "manager:package" (e.g. "apt:libssl-dev", "brew:postgresql@17", "dnf:openssl-devel", "pacman:base-devel") - git repositories to clone or update with
mise bootstrap repos apply, keyed by target path - macOS-specific bootstrap config
- Linux-specific bootstrap config
- current-user bootstrap settings
- apt-specific bootstrap package config
- dnf-specific bootstrap package config
- Homebrew-specific bootstrap package config
- commands to run before and after bootstrap phases
- declarative mise shell activation snippets, applied with
mise bootstrap mise-shell-activate apply - sensitive bootstrap inputs read from environment variables, keyed by secret name
- Linux groups that bootstrap creates or removes, keyed by group name
- Linux users that bootstrap creates or removes, keyed by user name
daemon_groupsexperimental
Experimental named groups of project daemons. Members are daemon names or other group names declared in the same project.
- Type:
table
- Daemon or group names in this project.
daemon_providersexperimental
Experimental shared servers owned by the user. Only allowed in global configuration.
- Type:
table
daemonsexperimental
Experimental project daemons: custom pitchfork commands or managed presets.
- Type:
table
daemons_settingsexperimental
Experimental project-wide daemon options.
- Type:
table
namespacestringFixed pitchfork namespace for this project, replacing the hashed default so other projects can refer to its daemons by qualified ID.namespace_per_worktreebooleanAppend a worktree-specific suffix to an explicit namespace when the project root is a linked git worktree. Default:true.
deps
configure deps providers
- Type:
table
disablestring[]Disable specific deps providers- Prepare provider configuration
yarntablePrepare provider configuration Same keys asdeps.npm.pnpmtablePrepare provider configuration Same keys asdeps.npm.buntablePrepare provider configuration Same keys asdeps.npm.aubetablePrepare provider configuration Same keys asdeps.npm.denotablePrepare provider configuration Same keys asdeps.npm.gotablePrepare provider configuration Same keys asdeps.npm.piptablePrepare provider configuration Same keys asdeps.npm.poetrytablePrepare provider configuration Same keys asdeps.npm.uvtablePrepare provider configuration Same keys asdeps.npm.bundlertablePrepare provider configuration Same keys asdeps.npm.composertablePrepare provider configuration Same keys asdeps.npm.darttablePrepare provider configuration Same keys asdeps.npm.fluttertablePrepare provider configuration Same keys asdeps.npm.git-submoduletablePrepare provider configuration Same keys asdeps.npm.<key>tablePrepare provider configuration Same keys asdeps.npm.
doctor
Project diagnostic checks, run explicitly with mise doctor project.
- Type:
table
dotenvdeprecated
dotenv file(s) to load. Deprecated; use env._.file instead. This will be removed in mise 2027.4.0.
- Type:
string | string[]
dotfile_groups
named directory trees of dotfiles, applied with mise dotfiles apply or mise bootstrap while [bootstrap] dotfile_groups selects them (or is unset)
- Type:
table
dotfiles
dotfiles applied with mise dotfiles apply or mise bootstrap, keyed by target path or a logical name when every variant overrides the target; an omitted source for the latter resolves the relative key under dotfiles.root
- Type:
table
env
environment variables to set
- Type:
table | table[]
- environment modules
- an environment variable: its value, or a table with
value,default,requiredorage
env_filedeprecated
dotenv file(s) to load. Deprecated; use env._.file instead. This will be removed in mise 2027.4.0.
- Type:
string | string[]
env_pathdeprecated
PATH entries to add. Deprecated; use env._.path instead. This will be removed in mise 2027.4.0.
- Type:
string | string[]
experimental_monorepo_rootdeprecated
deprecated alias of monorepo_root
- Type:
boolean
history
dotfiles history: what is never captured, reload commands, and the setup repository (https://mise.jdx.dev/history.html)
- Type:
table
excludestring[]globs never captured by dotfiles history; a!globentry re-includes a path an earlier glob excludedgit_emailstringemail used for history commit authors and committers; {hostname} expands to this machine's hostnamemachinestringthis machine's name in per-machine streams (variants = [{ machine = true }]) instead of the name generated with the history store- commands run once after a rollback or undo writes a path matching the glob (trusted global or system config only)
- the setup repository this machine publishes to and fetches from; machine-local, written by
mise bootstrap dotfiles origin set
hooks
hooks to run on events like cd, enter, leave
- Type:
table
leavestring | table | (string | table)[]Same keys ashooks.enter.cdstring | table | (string | table)[]Same keys ashooks.enter.postinstallstring | table | (string | table)[]Same keys ashooks.preinstall.
include
config files merged into this one, ranking just below it: a local path (relative to this file), git::
- Type:
string | string[]
min_version
minimum version of mise required to use this config
- Type:
string | table
monorepo
configuration for monorepo task discovery
- Type:
table
config_rootsstring[]Explicit list of config root paths for monorepo task discovery. Supports single-level glob patterns (*). When set, skips filesystem walking for better performance.- Short names for configured monorepo task roots. Keys are single path segments; values are paths in config_roots.
lockfilebooleanUse a single lockfile at the monorepo root for descendant config roots. true opts in now, false keeps lockfiles next to subproject configs, and unset keeps the current behavior until the scheduled default flip.- Task defaults applied by task name across inferred and explicit workspace projects
- Explicit additions, removals, and overrides applied to provider-inferred workspace projects
monorepo_root
marks this config as a monorepo root for task path syntax
- Type:
boolean
oci
configuration for mise oci build
- Type:
table
fromstringBase image reference (overrides the oci.default_from setting)tagstringDefault tag applied to the built imageworkdirstringWorking directory baked into the image configentrypointstring[]Entrypoint baked into the image configcmdstring[]Cmd baked into the image configuserstringUser baked into the image configuser_idintegerNumeric UID assigned to tar layer entriesgroup_idintegerNumeric GID assigned to tar layer entries. Defaults to user_id when unsetmount_pointstringOverride where mise installs go in the image (default /mise)- Host files or directories copied into the image as independent layers
- Extra env vars baked into the image config
- Labels baked into the image config
plugins
plugins to use
- Type:
table
<name>stringurl to plugin repository
redactions
env or vars keys to redact from logs
- Type:
string[]
secretsexperimental
Sources for mise secrets: values resolved only when mise starts a task or mise x command that was granted them. Project config only.
- Type:
table
- Use fnox (fnox.toml discovered from this config's directory). https://mise.jdx.dev/environments/secrets/fnox.html
settings
mise settings
- Type:
table - Documented in its own reference.
shell_alias
shell aliases
- Type:
table
<name>stringcommand to run
task_config
configuration for task execution and management
- Type:
table
cascadebooleancascade task configuration to descendant config roots Default:false.dirstringdefault directory to run tasks in defined in this fileshellstringdefault shell to run tasks with in this config scope- default experimental local artifact cache configuration for eligible tasks with sources and explicit outputs
- deprecated no-op; use mbx for Rust action caching instead: https://mr-boxington.jdx.dev/getting-started
- experimental ambient environment variable names added to every enabled task cache key in this config scope
- experimental ambient environment variable names preserved under environment denial without affecting task cache keys
- experimental config-root-relative source patterns added to every task in this config scope; entries may reference input groups with @group:
- experimental reusable config-root-relative source groups referenced with @group:
includesstring[]files/directories to include searching for tasks. Can be local paths, git repository URLs using git:: prefix (e.g., git::https://github.com/org/repo.git//path?ref=branch), or OCI artifacts using oci:: prefix (e.g., oci::ghcr.io/org/tasks:1.0.0)excludesstring[]config-root-relative paths or glob patterns to exclude from file-task discovery
task_templates
task templates that can be extended by tasks via extends
- Type:
table
- task template that can be extended by tasks
tasks
task runner tasks
- Type:
table
- a task: a script, a list of scripts and task references, or a table
tool_alias
Tool version aliases
- Type:
table
tool_config
policy for tools declared by this config root
- Type:
table
lockedbooleanrequire tools declared by this config root to resolve and install from their lockfiles Default:false.
tools
dev tools to use
- Type:
table
<pipx:…>(string | table)[] | string | tableSame keys astools.<pypi:…>.
vars
variables to set for use in config templates
- Type:
table
- vars modules
- a variable: its value, or a table with
value,default,requiredorage
watch_files
files to watch for changes and run scripts when modified
- Type:
table[]
[].runstringscript to run when file changes[].shellstringinline shell command used to run script when file changes[].patternsstring[]patterns to watch for[].taskstringmise task to run when file changes
wrappers
commands that intercept a binary name before delegating to the active toolset
- Type:
table
- command to run