ConfigsJul 24, 2026·3 min read

Microsoft Coreutils — GNU Coreutils Reimplemented in Rust for Windows

A Rust reimplementation of GNU coreutils by Microsoft, bringing standard Unix command-line utilities natively to Windows with full Unicode and path support.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Microsoft Coreutils
Direct install command
npx -y tokrepo@latest install 40b88a17-875c-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Microsoft Coreutils is a Rust-based reimplementation of the GNU coreutils, bringing standard Unix command-line utilities natively to Windows. Unlike WSL or Cygwin-based approaches, these are native Windows executables that understand Windows paths, Unicode filenames, and NTFS features out of the box. The project aims to give Windows developers the same command-line productivity as Unix users.

What Microsoft Coreutils Does

  • Provides native Windows implementations of ls, cat, sort, grep, and dozens more
  • Handles Windows-native paths (backslashes, drive letters, UNC) correctly
  • Supports full Unicode filenames and console output natively
  • Integrates with PowerShell, CMD, and Windows Terminal seamlessly
  • Ships as a single installer with all utilities included

Architecture Overview

Each utility is implemented as a standalone Rust binary compiled for Windows. The project uses Rust's standard library for cross-platform I/O while adding a Windows-specific layer for path normalization, console API integration, and NTFS metadata handling. The build system produces both individual executables and a combined installer package. Packaging uses winget manifests and MSI for enterprise deployment.

Self-Hosting & Configuration

  • Install via winget or download the MSI installer from GitHub Releases
  • Add the install directory to your PATH for global availability
  • Configure aliases in PowerShell profile for any naming conflicts
  • Build from source with Rust toolchain and cargo on Windows
  • Update via winget upgrade for automatic version management

Key Features

  • Native Windows executables with no Unix compatibility layer required
  • Full UTF-16 and Unicode path support across all utilities
  • NTFS-aware file operations including symlinks and alternate data streams
  • Compatible with PowerShell pipelines and Windows scripting
  • Memory-safe implementation in Rust with modern error handling

Comparison with Similar Tools

  • WSL — runs Linux binaries in a VM; Coreutils are native Windows executables
  • Cygwin — POSIX compatibility layer with overhead; Coreutils run without a layer
  • Git Bash — bundles MinGW coreutils; Microsoft Coreutils have better Windows integration
  • BusyBox-w32 — single binary with limited features; Coreutils provide full GNU compatibility
  • uutils/coreutils — community Rust coreutils; Microsoft Coreutils focus on Windows packaging

FAQ

Q: Does it replace PowerShell built-in commands? A: No, it supplements them. You can alias or use full paths to choose which tool to invoke.

Q: Are all GNU coreutils included? A: The most commonly used utilities are implemented, with coverage expanding in each release.

Q: Does it work on Windows Server? A: Yes, it runs on Windows 10, 11, and Windows Server 2019+.

Q: Can I use it in CI/CD pipelines on Windows runners? A: Yes, the winget or MSI install works in automated environments including GitHub Actions Windows runners.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets