mise: Trust Configs and Shim vs Activate in CI
mise will not load a mise.toml or .tool-versions it has not trusted, so CI must run mise trust (or set MISE_TRUSTED_CONFIG_PATHS) before mise install.
mise (formerly rtx) is a fast asdf-compatible manager. Beyond the basics covered elsewhere, the CI-specific gotchas are config trust and choosing between shims and shell activation.
What it does
mise loads tool versions from mise.toml or .tool-versions, but for safety it ignores any config it has not explicitly trusted. It can put tools on PATH two ways: mise activate (a shell hook that updates PATH on directory change) or shims (a shims dir of stub binaries that resolve the version at runtime).
Common usage
mise trust # trust the config in this repo
mise install # install everything pinned
# Option A (interactive shells): activate hook
eval "$(mise activate bash)"
# Option B (CI / non-interactive): use shims on PATH
export PATH="$HOME/.local/share/mise/shims:$PATH"
mise exec -- node -v # or just run via shimsOptions
| Command / setting | What it does |
|---|---|
| mise trust | Trust the config files in scope |
| MISE_TRUSTED_CONFIG_PATHS | Pre-trust paths without prompting |
| mise activate <shell> | Shell hook that manages PATH on cd |
| mise/shims on PATH | Stub binaries for non-interactive use |
| mise exec -- <cmd> | Run a command with tools loaded |
| mise install | Install all pinned tools |
In CI
In non-interactive CI, mise activate may not run its hook, so put the shims directory on PATH or use mise exec. Run mise trust (or set MISE_TRUSTED_CONFIG_PATHS to the repo path) or mise silently ignores your version pins. Cache ~/.local/share/mise.
Common errors in CI
"Config file mise.toml is not trusted" (or pins simply ignored) means you skipped mise trust. Tools "not found" after install usually means activation did not happen in the non-interactive shell; use shims or mise exec. "mise: command not found" means the mise binary itself is not on PATH.