Coreutils for Windows
Overview of “Coreutils for Windows”
- Native Windows port of (most of) GNU coreutils via a Rust/uutils fork.
- Goal: make moving between Linux, macOS, WSL, containers, and Windows more “frictionless” so many existing scripts work with minimal changes.
- Project reportedly ships ~75% of the utilities; some are intentionally omitted or altered.
Relation to uutils, GNU coreutils, and Licensing
- This is a fork of the existing Rust uutils coreutils, not a direct GNU coreutils port.
- Some see it as redundant since uutils already supports Windows and the differences are mainly Windows-specific fixes that “could be upstreamed.”
- Strong criticism that MIT-licensed uutils and this fork enable bypassing the GPL; some frame it as an attack on GNU/GPL and “EEE”-style behavior.
- Others argue MIT licensing is doing its job by maximizing adoption.
Shell Conflicts and Behavior
- Several commands conflict with CMD/PowerShell built-ins (
dir,echo,sort,find, etc.). - Behavior depends on the shell, PATH ordering, and PowerShell aliases; users complain this undermines the “drop-in” goal.
- There are hacks like dispatching between DOS and GNU variants for
find/sortbased on heuristics; some find this messy and under-explained. - Suggestions include prefixing commands (like
g*on BSD/macOS) or having a dedicated environment where these tools come first in PATH.
Missing / Deprioritized Utilities
- Some commands (e.g.,
shred,uname) are omitted or de-emphasized as “not useful on Windows,” which many dispute. - Others note obviously useful tools (
dd, a properchown/chmod, betterlnintegrations,uname) should have been prioritized. - Confusion arose from the README listing only conflicted or excluded commands; clarifications say “everything not listed is included.”
Comparison to Existing Options
- Many ask why not just use:
- Cygwin/MSYS2, Git for Windows (with Bash), Busybox for Windows, WSL/WSL1, or existing uutils.
- Critics see this as a half-baked, marketing-driven duplication that adds yet another subtly incompatible Unix-like environment on Windows.
Motivations and AI Angle
- Some speculate the real driver is AI agents: LLMs are better at Unix-style CLI than PowerShell/CMD, so native coreutils helps “agents on Windows.”
- Project representatives claim the primary aim is human developers familiar with macOS/Linux; AI benefits are a side effect.
Broader Windows UX Debates
- Thread spirals into recurring themes: CRLF vs LF, backslashes vs slashes, drive letters, POSIX compatibility, UTF-16, and PowerShell’s object pipeline vs text-based Unix tools.
- No consensus: some welcome the tools as a quality-of-life improvement; others say they’d still rather use Linux, WSL, or existing Unix layers.