| name | mise |
| description | Manage development tools, tasks, and environment variables with mise (mise-en-place). Use when installing or switching tool versions, running project tasks, configuring per-project environments, or editing mise.toml files. |
Mise (mise-en-place)
Unified tool version manager, task runner, and environment manager. Replaces asdf, nvm, pyenv, direnv, and make.
Essential Commands
mise install
mise use node@24
mise use --global python@3.12
mise ls
mise ls-remote node
mise upgrade
mise prune
mise run
mise run build
mise run build -- --flag arg
mise tasks
mise env
mise set KEY=value
mise edit
mise edit --global
mise config
mise doctor
mise trust
Config Files
| File | Purpose |
|---|
~/.config/mise/config.toml | Global defaults |
mise.toml (project root) | Project tools, tasks, env |
mise.local.toml | Machine overrides (gitignored) |
mise.{ENV}.toml | Per-environment (dev, staging, prod) |
Precedence: system < global < project < local < environment-specific
TOML Reference
[tools]
node = "24"
python = "3.12.*"
"aqua:astral-sh/ruff" = "latest"
[tasks.build]
description = "Build the project"
run = "cargo build"
alias = "b"
[tasks.test]
depends = ["build"]
run = "cargo test"
sources = ["src/**/*.rs"]
outputs = ["target/debug/myapp"]
[env]
DATABASE_URL = "postgres://localhost/mydb"
[vars]
test_args = "--headless"
File tasks: executable scripts in .mise/tasks/ with #MISE description="..." header.
Notes
- Shell integration (
eval "$(mise activate bash)") needed for auto env loading
- Without it, use
mise env or mise exec
- Full docs: https://mise.jdx.dev