diff --git a/e2e/config/test_config_auto_install_disable_tools b/e2e/config/test_config_auto_install_disable_tools new file mode 100644 index 0000000000..6670fbd554 --- /dev/null +++ b/e2e/config/test_config_auto_install_disable_tools @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Clean up any previous installs +mise uninstall dummy@1.0.0 || true + +# Test auto_install_disable_tools via settings in mise.toml +cat <mise.toml +[tools] +dummy = '1.0.0' + +[settings] +auto_install_disable_tools = ["dummy"] +EOF + +# Should NOT auto-install dummy when running a command +assert_fail "mise exec dummy@1.0.0 -- dummy --version" "couldn't exec process" + +# Remove auto_install_disable_tools and check auto-install works +cat <mise.toml +[tools] +dummy = '1.0.0' +EOF + +assert "mise exec dummy@1.0.0 -- dummy --version" + +# Uninstall for env var test +mise uninstall dummy@1.0.0 || true + +# Test auto_install_disable_tools via environment variable +cat <mise.toml +[tools] +dummy = '1.0.0' +EOF + +MISE_AUTO_INSTALL_DISABLE_TOOLS=dummy assert_fail "mise exec dummy@1.0.0 -- dummy --version" "couldn't exec process" +MISE_AUTO_INSTALL_DISABLE_TOOLS='' assert "mise exec dummy@1.0.0 -- dummy --version" diff --git a/settings.toml b/settings.toml index 20367dad9b..59d0282f22 100644 --- a/settings.toml +++ b/settings.toml @@ -149,6 +149,7 @@ env = "MISE_AUTO_INSTALL_DISABLE_TOOLS" type = "ListString" rust_type = "Vec" optional = true +parse_env = "list_by_comma" description = "List of tools to skip automatically installing when running `mise x`, `mise run`, or as part of the 'not found' handler." [cache_prune_age]