

So your system’s shell can continue to access it even when you start a new session or restart your Mac. Setting the PATH on Mac permanently means your PATH environment variable changes aren’t limited to your current shell session, unlike the temporary variable settings. Follow the steps earlier in the post to know the steps and the different ways to do this.

zsh_profile file and add the path of your program or script. Since macOS uses zsh as the default shell on Catalina (and above) versions, you just need to edit either the. If you’re running macOS Catalina (or above), setting the environment variable is as simple as modifying the shell config or profile file to incorporate the path of the program/script you want to access anywhere. On the other hand, if you set the path for that program in the PATH variable, you can easily use it in any directory on your system without specifying its absolute path. But unfortunately, since doing so over and over would take up a lot of your time and effort, this isn’t a very efficient approach and can’t be used when you want to run commands repeatedly. If not, you get the command not found error.Īs we mentioned initially, specifying the absolute or full path of the directory where the program is installed/stored in your command is one way to overcome this error. If a path address is found, it executes the command successfully and returns the output. On macOS, when you run a command in the terminal, it searches for the path of the requested program in that command inside the PATH environment variable. Why Do You Need to Set the PATH Environment Variable? Talking about PATH, the variable contains a list of all the directories (for various programs added to the PATH) that the shell needs to search for to execute your requested programs through a terminal command.
