かつてはWindowsでLinuxツールを使うにはCygwin、MinGW、Git Bash、仮想マシン、デュアルブートなどの選択肢が必要だった。
Coreutils for Windows最も象徴的な発表の一つが、Coreutils for Windowsだ。grep、ls、cp、mv、cat、chmod、mkdir、rmといったUnix/Linux系の基本コマンドを、Windowsネイティブで利用できるようにする取り組みだ。これらのコマンドはLinuxやmacOSでは日常的に使われるが、Windowsでは標準のコマンド体系が異なるため、同じ手順をそのまま使えないことが多かった。
開発者にとって、これは大きな摩擦となる。READMEに書かれた手順、CIのスクリプト、ビルド手順、トラブルシューティングのコマンド例は、LinuxやmacOSを前提にしていることが多い。そこにWindowsユーザーが入ると、コマンドをPowerShell向けに読み替えたり、別のツールを入れたり、WSLに移動したりする必要があった。例えば、「lsでファイルを確認し、grepで文字列を探し、cpでコピーする」という程度の作業でも、環境差が積み重なると開発体験の分断になる。