On macOS, 'git ls-files path' does not work (gives an error) if the absolute 'path' contains characters in NFD (decomposed). I guess this is a (minor) bug of git. [1] How to reproduce the problem On macOS, git 2.39.3 or 2.45.0.219.gb9fe23f5ca(next branch), file system can be APFS or HFS. with zsh or bash: % cd /somewhere # some safe place, /tmp or ~/tmp etc. % mkdir $'u\xcc\x88' # ü in NFD % cd ü # or cd $'u\xcc\x88' or cd $'\xc3\xbc' % git init % git ls-files $'/somewhere/u\xcc\x88' # NFD fatal: /somewhere/ü: '/somewhere/ü' is outside repository at '/somewhere/ü' % git ls-files $'/somewhere/\xc3\xbc' # NFC (the same error as above) In the 'fatal:' error message, there are three ü; the 1st and 2nd are in NFC, the 3rd is in NFD. [2] Some analysis The path on the command line $'/somewhere/u\xcc\x88' is converted to NFC by precompose_argv_prefix(), called at git.c:451 in run_builtin(). But get_git_work_tree() (called at setup.c:50, in abspath_part_inside_repo()) returns the work_tree in NFD, and comparing it with the path in NFC (setup.c:92) fails. I'm not familiar with git internals, but maybe get_git_work_tree() should return NFC (on macoS)? -- Jun (Jun-ichi Takimoto)