The workshop · Edition No. 24 · 18 Sep 2026

jdx/mise

One tool that installs language versions per project, loads that project's environment, and runs its commands.

← The workshopRead the whole edition →

32.4k stars · MIT · v2026.9.11 (2026-09-18), read from /releases/latest on the morning of the edition; the version number is a calendar version and the eleventh release of September 2026 · Track this in Scout

One tool that installs language versions per project, loads that project's environment, and runs its commands.

Repo detailsthe review · specs · pros & cons · install

What it is

A version manager, an environment loader and a task runner in one program, written in Rust. A file called mise.toml in a folder lists the tools and versions that folder needs. When you enter the folder, mise puts those versions on the path and loads the settings; when you leave, it puts them back.What it is good for. Anyone with more than one project on the same machine, and anyone who has lost an afternoon to the wrong Python running. The problem it removes is the readme line that says "requires Node 20" and the hour you spend finding out you have 22. A short line about Grasppy and ScalpingMate: they are both Python projects on the same laptop and they do not have to agree about versions any more.

Stars32.4k
LicenceMIT
Latestv2026.9.11 (2026-09-18), read from /releases/latest on the morning of the edition; the version number is a calendar version and the eleventh release of September 2026
Good
  • Replaces asdf, nvm, pyenv and direnv with one program, and reads asdf's .tool-versions file so moving over is not a rewrite.
  • It installs the version it needs rather than telling you to go and get it.
  • MIT licence, and mise doctor tells you what is wrong with your setup instead of leaving you guessing.
Watch for
  • It hooks into your shell's startup, so a bad setup can break every new terminal you open. Read the activation step twice.
  • If your current setup works and you only use one language, this is a change with no reward.
  • It releases very often, sometimes several times a week, so pin the version on anything that has to keep working.
Similar repositories
Install
# macOS or Linux:
curl https://mise.run | sh
# Add this line to ~/.bashrc (or ~/.zshrc), then open a new terminal:
eval "$(~/.local/bin/mise activate bash)"
# In a project folder:
mise use python@3.13
mise use node@22
mise doctor
Screenshots
jdx/mise: GitHub preview cardjdx/mise: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.