Core tools overview
Core tools are languages whose installers are built into mise, so they need no plugin. Each guide covers platform support, how mise installs the language, version files, and language-specific options.
mise use node@24 python@3.14| Tool | Name in mise.toml | Version files (when enabled) |
|---|---|---|
| Bun | bun | .bun-version, package.json |
| Deno | deno | .deno-version, package.json |
| .NET | dotnet | global.json |
| Elixir | elixir | .exenv-version |
| Erlang | erlang | |
| Go | go | .go-version, go.mod, go.work |
| Java | java | .java-version, .sdkmanrc |
| Node.js | node | .nvmrc, .node-version, package.json |
| Python | python | .python-version, .python-versions |
| Ruby | ruby | .ruby-version, Gemfile |
| Rust | rust | rust-toolchain.toml |
| Swift | swift | .swift-version |
| Zig | zig | .zig-version |
mise registry -b core lists the same set, and dotnet-core is another name for dotnet. For tools beyond these languages, see the registry.
Selecting another implementation
An installed plugin with the same name as a core tool can take precedence over the built-in installer. Use one only when you need behavior the plugin provides, because it also changes how the tool installs and whose code you trust. See plugins and how backend selection works.
To use the built-in installer explicitly, prefix the name with core:, as in mise use core:python@3.14. To keep it for every project even when a plugin is installed, add a tool alias:
[tool_alias]
python = "core:python"