niubash
RustAI-native real bash: real syntax, real Unix commands, native on Windows/Linux/macOS.
AI-native 的真·Bash:真语法、真 Unix 命令、原生三平台
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
# install · session 1/3
PS C:\> irm https://unixwin.dev/install.ps1 | iex
downloading niubash-win-x64-setup.exe …
✓ Niubash 1.4.3 installed
PS C:\> niu --version
Niubash 1.4.3 — bash-compatible shell for Windows
# agent takeover · session 2/3
cmx@unixwin:~$ claude
✓ shell: niubash (rubash engine) — $SHELL auto-detected
agent> niu -c 'git log --oneline -1'
f0c0ffe niubash 1.4.3 — real syntax, real commands, native on three platforms
agent>
# speed · session 3/3
cmx@unixwin:~$ time git --version
git version 2.56.0.windows.2.niugit
✓ real 0m0.014s ← niu-git
user 0m0.006s · sys 0m0.002s
# Git Bash on the same machine: real 0.045s – 0.103s (3–7× slower)
cmx@unixwin:~$
six projects · one family
All six ship with one niubash install — install niubash once and the whole family is in place.
AI-native real bash: real syntax, real Unix commands, native on Windows/Linux/macOS.
AI-native 的真·Bash:真语法、真 Unix 命令、原生三平台
irm unixwin.dev/install.ps1 | iex Native-Windows Unix command set, single ~3 MB executable.
原生 Windows 的 Unix 命令集,单文件约 3MB
winuxcmd --version Embeddable GNU Bash 5.3-compatible engine.
可嵌入的 GNU Bash 5.3 兼容引擎
cargo add rubash Native Windows Git without MSYS, ~14 ms startup.
原生 Windows Git,无 MSYS,~14ms 启动
git --version WinuxCmd's built-in package manager with a 281-package official index.
WinuxCmd 内置包管理器,官方索引 281 包
wpm install neovim Oh-My-style framework: 40+ themes and plugins.
Oh-My 式框架:40+ 主题与插件
niu plugin list why --real --fast --native
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 ( ) 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 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
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
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' 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
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
winget install --id Unixwin.Niubash --source winget irm https://unixwin.dev/install.ps1 | iex curl -fsSL -o niubash.tar.gz https://github.com/unixwin/niubash/releases/download/v1.4.3/niubash-v1.4.3-linux-x86_64.tar.gz && tar xzf niubash.tar.gz curl -fsSL -o niubash.tar.gz https://github.com/unixwin/niubash/releases/download/v1.4.3/niubash-v1.4.3-macos-x86_64.tar.gz && tar xzf niubash.tar.gz wpm for help); install packages like wpm install neovim, self-upgrade with wpm update winuxcmd.niu × claude code
$ claude # launched from a niu session; $SHELL already points at niubash
✓ shell: niubash (rubash engine) — 14ms git, 176+ unix commands
agent> niu -c 'ls | grep src'
src
agent> niu -c 'git log --oneline -1'
f0c0ffe niubash 1.4.3 — real syntax, real commands, native on three platforms
agent>
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
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.