UNIXWIN

An AI-native family of real Bash — real syntax, real Unix commands, native on Windows / Linux / macOS. No WSL, no MSYS.

AI-native 的真·Bash 家族——真语法、真 Unix 命令、原生 Windows / Linux / macOS,无 WSL、无 MSYS。

83/83 GNU suites · 82 byte-identical · 176+ Unix commands · ~14 ms git startup

cmx@unixwin:~$

Measured numbers · all with sources

Benchmarks →
83/83 GNU bash suites
176+ Unix commands
~14 ms git startup
24 AI agents covered
5 native platforms
≈16 MB installed family

six projects · one family

Product Matrix

All six ship with one niubash install — install niubash once and the whole family is in place.

Docs →

niubash

Rust

AI-native real bash: real syntax, real Unix commands, native on Windows/Linux/macOS.

AI-native 的真·Bash:真语法、真 Unix 命令、原生三平台

stable irm unixwin.dev/install.ps1 | iex
Docs →

WinuxCmd

C++

Native-Windows Unix command set, single ~3 MB executable.

原生 Windows 的 Unix 命令集,单文件约 3MB

preinstalled winuxcmd --version
Docs →

rubash

Rust

Embeddable GNU Bash 5.3-compatible engine.

可嵌入的 GNU Bash 5.3 兼容引擎

beta · embeddable cargo add rubash
Docs →

niu-git

C

Native Windows Git without MSYS, ~14 ms startup.

原生 Windows Git,无 MSYS,~14ms 启动

preinstalled git --version
Docs →

wpm

C++

WinuxCmd's built-in package manager with a 281-package official index.

WinuxCmd 内置包管理器,官方索引 281 包

built-in wpm install neovim
Docs →

oh-my-niu

Shell

Oh-My-style framework: 40+ themes and plugins.

Oh-My 式框架:40+ 主题与插件

bundled niu plugin list

why --real --fast --native

Why UNIXWIN

Truly compatible

All 83 upstream GNU Bash test suites pass, and 82 of them produce byte-identical output — the one remaining delta was proven byte-for-byte to be a race in GNU's own code. Existing scripts run unmodified.

suites 83/83 · byte-identical 82

Zero fork

( ) and $( ) create zero processes — subshells complete in-process, with fd inheritance, shared offsets, exit codes and signal disposition matching GNU. One model on every platform, no POSIX emulation layer.

( ) $( ) → 0 processes

Every path dialect

C:\, D:/, /d/, /mnt/d, /cygdrive/d — one shell accepts the path notations of four ecosystems and genuinely folds them together. Switch shells without rewriting your scripts.

C:\ · /d/ · /mnt/d · /cygdrive/d

No MSYS incantations

Git Bash heuristically rewrites your arguments before spawn, so you end up learning MSYS_NO_PATHCONV. niu ships no MSYS runtime — argv arrives byte-for-byte as typed. That variable doesn't exist here because it doesn't need to.

argv verbatim

AI-native

Launch Claude Code, Codex or Cursor from a niu session and the agent picks up niubash through the $SHELL convention; niu -c runs a single command with deterministic output, built for agents' repeated calls and parsing.

niu -c 'ls | grep src'

Fast

git --version in about ~14 ms where Git Bash needs 45–103 ms; the prompt reads .git/HEAD directly (≤29 ms) while the other shell pays a 113–362 ms git tax on every single prompt.

git ~14ms · prompt ≤29ms

Git Bash (MSYS)

runtime rewrites argv → three straight failures

niubash (niu)

argv byte-for-byte → passes first try

The same three commands, two runtimes: Git Bash's MSYS layer rewrites arguments before spawn, breaking cd, cmd /c and git grep -n one after another; niu ships no MSYS layer — argv arrives byte-for-byte as typed, and the same commands pass on the first try (see the "no MSYS incantations" card).

The three commands on the right are copy-paste reproducible in niu.

quick start · one line

Quick Install

winget install --id Unixwin.Niubash --source winget
  • Linux / macOS: grab the portable bundle from GitHub Releases and unpack it (pick the aarch64 asset on ARM machines); the Windows installer bundles WinuxCmd (wpm included) plus niu-git / ripgrep / fd / gawk — (gawk is x64-only; ARM64 installs ship niugit, ripgrep and fd). github.com/unixwin/niubash/releases .
  • wpm ships inside WinuxCmd (type wpm for help); install packages like wpm install neovim, self-upgrade with wpm update winuxcmd.
  • Installs with no admin rights ; PATH and a Windows Terminal profile are set up for you · docs at unixwin.github.io/niubash/ .

niu × claude code

The Agent Story, at a Glance

Once your agent runs on niubash, every command executes with real bash syntax — deterministic output, fast startup, nothing falling over in long sessions. How each agent is launched and wired is covered in the detection-mechanism docs.

tail -f changelogs.json

Latest News

  • niubash 1.4.4

    `ping`/`netstat`/`tracert` were `command not found` (rubash#…

  • rubash 1.4.3

    命令词干大小写折叠(#998/#1000):System32 的盘上真名全大写(`PING.EXE`/`NETSTAT.…

  • WinuxCmd 1.1.20

    bare drive-root operands (`ls /e`, `cp /e ...`, every applet…

  • oh-my-niu 1.0.1

    Released first-party `.winux` source packs for Git, Docker, …

Release notes are quoted from the original Chinese changelogs.

Full changelog →