Microsoft has released Coreutils for Windows, allowing a stack of familiar “Linux-like” command-line utilities to run natively on Windows.
The project is based on uutils, the Rust-based reimplementation of GNU coreutils that Ubuntu (mostly1) has adopted in recent releases. Microsoft’s package bundles uutils’ coreutils and findutils as well as a GNU-compatible grep in a single binary.
It offers tools like cat, cp, ls, mv and uptime. Commands that use POSIX-only features are excluded, meaning chmod, chown, kill and others aren’t included.
What’s notable – *nix tools working their way into the Windows ecosystem is notable – is that this isn’t running via WSL or similar Linux-powered compatibility layer. The tools gets installed natively and are accessible in Windows shells like Command Prompt and PowerShell.
Windows users can install Coreutils through WinGet, using the command:
winget install Microsoft.Coreutils
Users can also download a standalone .exe installer from project GitHub page.
Why is Microsoft bringing coreutils to Windows?
It says the aim is to let developers use “the same commands, flags and pipelines” across Windows, Linux and macOS (as well as in WSL and containers).
Depending on your pew, it could be seen as a canny way to convince developers they don’t need to boot Linux at all.
However, there is a catch: these tools don’t necessarily work the same way (or as well) as their Linux counterparts.
Several commands conflict with ones that Windows shells like CMD and PowerShell have. Microsoft provide a compatibility table on the GitHub listing which commands work in which shell.
Some behaviour will also differs from Linux given the system-level differences, e.g., line endings, no POSIX signals, permissions, etc – another thing to keep in mind.
Coreutils for Windows was announced at Microsoft’s Build 2026 event. The company also announced WSL containers, a method for creating and running Linux containers on Windows without needing to third-party platforms like Docker Desktop, Podman, etc.
Thanks Scott
- Ubuntu is using Rust-based core utilities by default but it still ships GNU coreutils for various components because of issues in the Rust versions. ↩︎