mise

Polyglot runtime and tool version manager (successor to asdf-vm and rtx). Manages multiple language runtimes and tools (Node.js, Python, Ruby, Go, Rust, Java, and 500+ more) with per-directory version pinning via .mise.toml or .tool-versions. Significantly faster than asdf (written in Rust). Supports task running (like Make/just), environment variable management per directory, and plugin ecosystem. Replaces nvm, pyenv, rbenv, and similar single-language version managers with one unified tool.

Evaluated Mar 06, 2026 (0d ago) v2024+
Homepage ↗ Repo ↗ Developer Tools runtime-manager version-manager developer-tools polyglot nvm asdf rtx rust
⚙ Agent Friendliness
69
/ 100
Can an agent use this?
🔒 Security
83
/ 100
Is it safe for agents?
⚡ Reliability
82
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
88
Error Messages
85
Auth Simplicity
100
Rate Limits
98

🔒 Security

TLS Enforcement
95
Auth Strength
80
Scope Granularity
75
Dep. Hygiene
85
Secret Handling
80

MIT open source for auditability. Downloads from tool registries verified by checksum. Shim-based PATH management doesn't expose new network services. Environment variable support in .mise.toml requires care to not commit secrets. Rust-based implementation for memory safety.

⚡ Reliability

Uptime/SLA
80
Version Stability
82
Breaking Changes
80
Error Recovery
85
AF Security Reliability

Best When

You're working with multiple languages and want one tool to manage all runtime versions with per-project pinning, faster than asdf and more powerful than nvm/pyenv.

Avoid When

You only use one language and have one version — a single-language version manager or system package is simpler than adding mise.

Use Cases

  • Manage language runtime versions across agent development projects — Node 20 for one, Python 3.12 for another, automatically switching when entering each project directory
  • Pin exact tool versions for agent projects in .mise.toml checked into git — CI environments install identical versions as local dev, eliminating version drift
  • Replace multiple single-language version managers (nvm, pyenv, rbenv, gvm) with a single unified tool across all agent development machines
  • Define and run project-specific tasks (lint, test, build, deploy) via mise tasks — unified task runner replacing Makefile for polyglot agent projects
  • Manage per-directory environment variables securely — .mise.toml can set env vars that activate automatically when entering a project directory

Not For

  • Production dependency management — mise manages development tool versions, not production library dependencies (use npm, pip, cargo for that)
  • Full isolated environments — mise manages tool versions but shares the system; use Devbox or Docker for full environment isolation with all system libraries
  • Teams on Windows without WSL — mise has experimental Windows support but works best on macOS and Linux

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
No
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

No authentication — local CLI tool. Plugin downloads from mise registry. No account required.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

MIT licensed, completely free. No commercial components.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • mise uses shims by default (like asdf) which can cause path resolution issues in some CI environments — use `mise exec` or `eval "$(mise activate)"` explicitly in CI rather than assuming PATH is correct
  • Tool plugins (for non-official tools) must be installed before the tool — `mise plugin add <tool>` before `mise install <tool>`; plugin installation requires network access to the plugin registry
  • Shell hook activation (`eval "$(mise activate bash)"`) is required for auto-switching on directory change — CI environments must include activation in .bashrc or explicitly call mise exec
  • Version pinning uses .mise.toml (TOML format) or .tool-versions (legacy asdf format) — mixing formats in a project can cause confusion; standardize on one
  • mise tasks (task runner) are defined in mise.toml and not automatically available without configuration — agents using mise for task running must have tasks defined in project mise.toml
  • Python via mise installs Python but not virtualenv by default — agents must still create and activate virtual environments for Python package isolation
  • First installation of a tool version downloads binary or compiles from source — initial install can be slow (minutes for compiled tools like Python); plan for CI cold start time

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for mise.

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered