Skip to content

Explicit installs

.config/mise/conf.d/00-settings.toml
auto_install = false

One line, and it shapes how the entire workspace feels to use.

With auto-install enabled, cd-ing into a directory whose config declares an uninstalled tool triggers a download. Convenient — right up until it is not.

With it disabled, entering a directory does exactly nothing. Tools arrive only when you run:

Terminal window
polyforge install

That is the only command in PolyForge that fetches anything.

Navigation stops being a side-effecting operation. cd should move you, not open network connections. In a workspace with a dozen language areas, the alternative means casually browsing your own folders can cost hundreds of megabytes.

Bad connectivity stays survivable. On tethering, on a plane, on a locked-down corporate network — moving around the workspace never stalls waiting on a download you did not ask for.

Nothing changes under you mid-task. An auto-installing setup can swap a toolchain version while you are debugging something else. Version changes should happen when you run install or update, and at no other time.

status is honest. Because looking never installs, polyforge status shows you the true gap between declared and installed:

Terminal window
polyforge status

That makes it the correct first command on a fresh machine.

You have to remember to install. A tool declared but not installed will fail with a “not found” error rather than silently appearing.

The fix is always the same, and polyforge doctor will point at it:

Terminal window
polyforge install