well, what you missed at Hivelogic is this: the $PATH variable can be and is set in more than one dot file. .bash_login .bash_rc .profile etc... There can be a precedence for these, based on which one gets loaded first or last. What you need to do is investigate what all you have on your machine. You need to check more than just your home directory too. You should check some things higher up. this is all shell stuff, it could be true in any shell, but the most common used on OS X is Bash. I recommend picking up a copy of Unix in a Nutshell. ( you need to have a reference like this around anyway and this one is good for multiple *nixes ) It has a nice section on Bash configuration, so you'll always have a reference of where to look for these things. sometimes when you install software or run updates, this stuff gets changed. Usually what happens is another bit of software prefers to use something for all *nix systems rather than using what is commonly used on a particular system. For example, I installed a newer Python recently, and it gummed things up because it created a dot file that wasn't there before. This is really a problem with Bash. It allows multiple files in multiple places to determine your $PATH all together, so it can take a little work to track it all down. The key is to get it how you want it/need it all in one file and then comment out the stuff in the other dot files and leave a comment of why and what it was for, including the date. This will give you reference in the future. Don't be afraid to comment the hell out of those dot files that store PATH information. You need it for when (not if) your PATH gets screwed up.