Run in the working directory almost entirely, to make multi-directory operation work. The exception is git commit, which is run in the startup directory, so that the user's editor runs in the directory the user naïvely expects.