Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Mise can manage project-specific versions of Node, Go, Ruby, and PHP, but avoiding shims does not require avoiding Mise. Choose shell activation for interactive work, shims when an application cannot load your shell setup, and mise exec or mise run for commands, scripts, and CI. Repeated shim launches can repeat version-resolution work; there is no universal speedup figure, and the right approach depends on how you run commands.

How Mise selects project tool versions

Mise installs development tools and selects versions based on configuration and execution context. A project can store its requested versions in mise.toml. In a project directory, mise use installs a requested tool and records it in the configuration; mise install installs tools already declared there without changing the file.

Use project-level requests for tools a project needs. A personal default can instead be set with mise use -g. Version requests should reflect the project’s compatibility requirements: a moving request is not the same as an exact pin. Commit the project configuration so teammates can use the same declared requests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set up Node, Go, and Ruby in a project

Install Mise using the instructions for your operating system, then open a terminal in the project directory and add the version requests the project requires. These examples follow Mise’s language guides; they are examples, not recommendations for every project.

mise use node@26
mise use go@1.25
mise use ruby@3.4

Each command installs the requested tool and records it in mise.toml. Check the project’s requirements before selecting versions, and verify that the required executable is available for your operating system and architecture.

Node

Mise’s Node guide documents project requests such as mise use node@26 and global defaults such as mise use -g node@26. Check the selected executable with mise exec -- node --version. The guide also notes that an external plugin with the same name can affect behavior, so inspect the plugin configuration if Node resolution is unexpected. Mise’s Node.js guide

Go

The Go guide documents requests such as mise use go@1.25. Go version files, including .go-version, go.mod, and go.work, require the relevant Mise setting to be enabled. For workspace files, the toolchain goX.Y.Z directive can request an exact version; Go’s own toolchain selection may then affect which tool runs. Verify with mise exec -- go version. Mise’s Go guide

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ruby

The Ruby guide documents requests such as mise use ruby@3.4. Mise uses precompiled binaries on supported platforms and otherwise can build from source with ruby-build. The documented precompiled platforms include Apple Silicon macOS and glibc Linux on arm64 and x86_64; Alpine and other musl systems compile from source unless configured otherwise. Check the installed executable with mise exec -- ruby --version. Platform support can change, so check the current guide for your system. Mise’s Ruby guide

PHP

PHP appears in Mise’s registry, but the available PHP-specific guidance does not establish its current backend, command syntax, or supported platform matrix. Do not infer those details from registry presence alone. Consult the current official PHP language guide before adding a PHP request to the project configuration.

Choose activation, shims, or explicit execution

Approach Use it when Trade-off
mise activate You want tools and environment variables to follow project context in an interactive shell. Depends on shell configuration and updates PATH at prompts and supported directory-change hooks.
Shims An editor or other program needs to find tools but does not load your shell startup files. Resolves the environment when a command is invoked; repeated calls can repeat that work. Shims do not support every activation feature.
mise exec or mise run You need an explicit environment for a one-off command, script, task, or CI job. Run commands through the Mise wrapper or a Mise task rather than relying on interactive prompt hooks.

Mise’s documentation describes the distinction this way: “Shims resolve the environment when a command is invoked.” It also cautions that “Which costs less depends on how you run commands.” Shims are not inherently slow in every setting: the relevant issue is whether your workflow repeatedly starts commands through them.

Use Mise without repeated shim dispatch

Interactive terminal

For an interactive shell, configure mise activate for the shell you actually use, then restart the shell. Mise can update PATH and the environment as you work in project directories, so selected tools can resolve directly rather than relying on a shim for every launch. Follow the official getting-started guide for the shell-specific setup. Mise getting started

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Script or CI job

For a script, wrap the enclosing process with mise exec so its child commands inherit the resolved environment. For example:

mise exec -- bash benchmark.sh

This prepares the environment for the script, rather than making each command inside it independently enter through a shim. For project tasks, define a Mise task and invoke it with mise run. In CI, use explicit installation and execution steps instead of assuming an interactive shell’s prompt hooks are active.

Editor or application that skips shell setup

If an editor or independently launched application does not read shell startup files, shims may be the practical way to expose Mise-managed tools to it. Confirm that the shim directory is on that application’s PATH and that the application supports the needed Mise behavior. The choice is about compatibility, not a rule that shims must always be removed.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Verify what actually runs

A version listed in configuration does not guarantee that a publisher provides an artifact for every operating system and architecture. Check the executable through Mise in the context where you intend to use it:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mise exec -- node --version
mise exec -- go version
mise exec -- ruby --version

For interactive use, also check the command from the configured shell after activation. If the result differs, inspect the project’s mise.toml, the active directory, shell activation, and any external plugins or language-specific version selection. For Go, account for enabled version-file parsing and Go’s own toolchain behavior.

What the performance claim does—and does not—mean

Mise documents repeated shim invocation as repeated environment resolution, and describes activation as doing its work at prompts and supported directory-change hooks. That explains why explicit execution or shell activation can avoid repeated shim dispatch in some workflows. It is not a measured benchmark or a promise that every project will run faster.

No universal percentage or timing follows from that mechanism. Actual results depend on how commands are launched and the surrounding environment. A meaningful benchmark would need to disclose the machine, operating system, shell, Mise version, runtime, invocation count, warm or cold conditions, and the competing manager configuration.

References

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.