Microsoft Releases Coreutils for Windows, Bringing Linux Utilities to Windows
Microsoft has announced the release of Coreutils for Windows, a project that aims to bring commonly used Linux command-line utilities to Windows as native applications. This move was unveiled at the Build 2026 developer conference.
The Coreutils for Windows project is built on the uutils open-source project, which is a cross-platform rewrite of the GNU coreutils in Rust. The objective is to facilitate developers in seamlessly transitioning between different platforms such as Linux, macOS, Windows, and Windows Subsystem for Linux (WSL) without having to change their workflows.
According to Microsoft, the motivation behind this initiative is to address the inconsistency that developers face when using familiar commands across different platforms, which often leads to workarounds, decreased efficiency, and context switching.
The Coreutils for Windows project, now available on GitHub as a Microsoft-maintained package, combines uutils/coreutils, findutils, and a GNU-compatible grep implementation into a single binary. This package aims to make existing commands and tools work across platforms, allowing scripts to be used on Windows without the need for modifications or additional tools.
Linux Utilities Running Natively on Windows
Coreutils for Windows includes a wide range of commands commonly used in Linux, such as cat, cp, find, grep, hostname, ls, mv, pwd, rm, sleep, tee, and uptime. These utilities can be installed through WinGet using the command winget install Microsoft.Coreutils.
Instead of creating separate executables for each program, Microsoft has developed a single coreutils.exe binary that encompasses the functionality of all these programs. When a user executes a command, Windows loads coreutils.exe, which determines the utility to run based on the command name.
Microsoft has implemented NTFS hardlinks for each supported command, such as ls.exe, cp.exe, cat.exe, and rm.exe, all pointing to the c:\Program Files\coreutils\coreutils.exe executable. This approach allows for a single executable while still providing individual Linux-style commands.
Furthermore, Microsoft has provided a compatibility table that showcases how each utility behaves in different Windows shells, as some Linux command names conflict with existing Command Prompt and PowerShell commands.
Coreutils using NTFS hardlinks to map commands to binary
While Coreutils for Windows includes commands like ls, cat, cp, mv, rm, pwd, sleep, and tee, some Unix utilities relying on POSIX functionality, such as chmod, chown, chroot, nohup, tty, and who, have not been released due to POSIX limitations on Windows.
Microsoft also highlights that there may be differences in functionality between Linux and Windows commands due to variations in line feeds, file permissions, and POSIX support. The company did not release commands like ‘kill’ or ‘timeout’ as Windows does not support POSIX signals, although this may change in the future.
Coreutils for Windows is part of Microsoft’s efforts to enhance Windows as a developer-friendly platform. Alongside this release, the company also announced WSL containers, providing a built-in solution for creating, running, and interacting with Linux containers on Windows using native CLI and API tools.
Automated pentesting tools offer real value, but they were primarily designed to assess whether an attacker can navigate through a network. This guide explores the 6 essential areas that require validation beyond network traversal testing.