The previous check used includes("win") which incorrectly matched "darwin" (macOS) because it contains "win". This caused cmd.exe to be used on macOS instead of /bin/sh.