Eshell uses eshell-parse-colon-path to split $PATH. The paths returned have a slash appended, so an absolute path can be contructed simply by concatenating path and filename. On windows the result list of eshell-parse-colon-path is extended further by "." (without a slash). This was no problem for me until I wanted to run git in a directory created by "git worktree add". When eshell was looking for git it found the file ".git" whereas it should have been looking for "./git". The result was an error message. In GNU Emacs 26.2 (build 1, x86_64-w64-mingw32) of 2019-04-13 built on CIRROCUMULUS Repository revision: fd1b34bfba8f3f6298df47c8e10b61530426f749 Windowing system distributor 'Microsoft Corp.', version 10.0.17763