Your comments

Works for me, please close the issue.  Thanks again.

Both linux and Windows will pick up the environment variables in the normal way always at first login.  Mac doesn't work this way, so this could be a more general Mac issue.  Mac only picks up environment variables when the shell is invoked as a login shell, by Terminal.app.  Mac software applications, like SmartGit, have a tiny default environment.

Well I am not the author on this repository!  Developers work on linux and mac, mostly mac.  So the pre-commit hook starts with #!/bin/sh.  I am not sure if you just go ahead and execute this, or if you first start up the users shell to execute this.

Obviously, with my environment set, I can go ahead and run the commit in terminal.  However, SmartGit doesn't have this environment so can't.

/usr/bin/login won't work, so please ignore that suggestion.

It could be that this is not an issue you can fix in smartgit.

Yes, the environment has not been picked up.  It is not interactive, just a linter.  I think you need 'login' instead of 'zsh' to bring the environment in to the pre-commit hook.