Many people use direnvopen in new window to load an environment upon entering a directory as well as unloading it when exiting the directory. Configuring direnv to work with nushell requires nushell version 0.66 or later.

Configuring direnv

To make direnv work with nushell the way it does with other shells, we can use the "hooks" functionality:

$env.config = {
  hooks: {
    pre_prompt: [{ ||
      if (which direnv | is-empty) {

      direnv export json | from json | default {} | load-env


you can follow the nu_scripts of Nushellopen in new window for the always up-to-date version of the hook above

With that configuration in place, direnv should now work with nushell.