When your project depends on a module version and that module depends on another one (sub dependency), itβs very common that re-installing the same module version in a new environment will cause something to break because the sub dependency was updated. This is not something that direnv solves therefore those other tools are still needed.