On Sun, Jan 21 2018, John Cheng jotted: > Actual result: > Suppose that cygwin git is specified, the result becomes: > exit status 128 fatal: ambiguous argument '@u': unknown revision or > path not in the working tree. Given that: $ git log @{x} fatal: ambiguous argument '@{x}': unknown revision or path not in the working tree. Spews the output back at you as @{x} not @x the problem must be in whatever is passing the argument to git, whether that's go or some other wrapper. Try putting a "git" first in your $PATH which is nothing but: #!/bin/sh echo "args: $@" exit 1 And seeing what you get.