Skip to content

Basic Mise Commands

This reference provides a comprehensive overview of the mise CLI commands, which helps manage runtime versions and development environments across projects.

Version and Help

# Check mise version
mise --version

# Display general help information
mise help

# Get help for a specific command
mise help install

Managing Runtimes

# List available plugins (languages/tools)
mise plugins list

# Install a specific plugin
mise plugins install nodejs

# List available versions for a runtime
mise list nodejs

# Install a specific version
mise install [email protected]

# Set a global default version
mise use --global [email protected]

# Set a project-specific version
mise use [email protected]

The install command fetches and installs a particular runtime version, while use activates it for the current session or project.

Project Configuration

Create a .mise.toml file in your project root:

[tools]
nodejs = "18.12.1"
python = "3.11.4"
ruby = "3.2.0"

Apply the configuration with:

# Install all tools defined in .mise.toml
mise install

# Activate the environment
mise activate

This configuration ensures that anyone working on the project will use the exact same versions of each runtime.

Environment Management

# View current environment
mise current

# List all installed runtime versions
mise ls

# Enter a subshell with specific tool versions
mise shell nodejs@18 [email protected]

# Run a command with specific tool versions
mise run nodejs@18 -- npm install

# Generate shell completion
mise completion bash > ~/.bash_completion.d/mise

The environment commands help you view, switch between, and utilize different runtime configurations without permanent changes.

Managing Multiple Projects

For different projects with varying requirements:

# Create a directory-specific configuration
cd ~/projects/app1
mise use [email protected]

# Move to another project with different requirements
cd ~/projects/app2
mise use [email protected]

# Verify current environment
mise current

Mise automatically switches environments based on the directory you're in, detecting the nearest .mise.toml file.

Advanced Configuration

Configure mise with global settings in ~/.config/mise/config.toml:

[settings]
always_keep_download = true
experimental = false
jobs = 4
legacy_version_file = true
plugin_autoupdate_last_check_duration = "1 week"
verbose = false

[aliases.nodejs]
lts = "18.12.1"
current = "20.0.0"

Global configurations allow you to create aliases, adjust performance settings, and control mise's behavior system-wide.

Plugin Management

Extend mise's capabilities with plugins:

# List installed plugins
mise plugins

# Install a plugin
mise plugins install rust

# Update plugins
mise plugins update

# Create a custom plugin
mise plugins create custom-tool

Plugins allow mise to manage additional languages and tools beyond the built-in support.

Troubleshooting Common Issues

If you encounter problems with mise, try these troubleshooting steps:

# Get verbose output for any command
mise -v install [email protected]

# Reset a corrupted tool installation
mise uninstall [email protected]
mise install [email protected]

# Check mise environment variables
env | grep MISE

# Update mise itself
mise self-update

Most issues can be resolved by ensuring your plugin cache is up-to-date or reinstalling the affected tool.

Integration with Other Tools

Mise integrates well with other development tools:

# Use with Docker
docker run --rm -it -v $HOME/.mise:/root/.mise image-name mise install

# Use with CI/CD pipelines
mise install
mise exec -- npm test

# Add to your shell profile for automatic activation
# Add to ~/.bashrc or ~/.zshrc:
eval "$(mise activate bash)"

Integration ensures your environment consistency extends to containerized environments and CI/CD pipelines.