macOS
brew install nshlocal Homebrew formula metadata
sudo port install nshMacPorts ports tree · shells/nsh/Portfile · source: api.github.com
brew / rank 9960
Fish-like, POSIX-compatible shell. Version 0.4.2 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#nsh.
install
brew install nshlocal Homebrew formula metadata
sudo port install nshMacPorts ports tree · shells/nsh/Portfile · source: api.github.com
sudo apk add nshAlpine Linux edge package indexes · nsh · source: dl-cdn.alpinelinux.org
nix profile install nixpkgs#nshnixpkgs package indexes · pkgs/by-name/ns/nsh/package.nix · source: api.github.com
overview
Fish-like, POSIX-compatible shell
history
nsh is a Rust command-line shell that aims to combine fish-like interactive convenience with POSIX-compatible shell syntax and some Bash extensions. Its README lists tab completion, syntax highlighting, Bash completion support by invoking Bash internally, and zero-configuration interactive features.
The GitHub repository was created on October 5, 2018, and the crates.io package was created on December 19, 2018. A Rust users forum announcement from December 17, 2018 framed the motivation as wanting fish-like out-of-the-box features while keeping traditional shell syntax and Bash scripting features.
nsh is an experimental/alpha shell rather than a mainstream login shell. The README explicitly asks for help to make it practical for daily use and notes missing Bash features and likely bugs. Still, it drew developer interest: the GitHub repository had about 963 stars when queried on 2026-07-01, crates.io reported 33,186 total downloads and 20 versions, and Homebrew, MacPorts, Nix, and Alpine package it.
Package users try it as an interactive shell with `nsh`, often via `cargo install nsh` or `brew install nsh`, to get completions and highlighting without adopting fish's non-POSIX language. The realistic usage is experimentation or personal shell sessions, not relying on it as `/bin/sh` for production scripts.
nsh sits in the recurring shell-design niche: keep Bourne/POSIX familiarity, borrow fish's interactive ergonomics, and implement it in Rust. For package catalogs it is best described as an interesting alternative shell with modest packaging footprint and alpha-stage caveats.
security posture
generalized runtime or code generation signal.
yellow risk · medium confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
nsh | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:nsh |
|---|---|
| Version | 0.4.2 |
| Package manager | Homebrew |
| Homepage | https://github.com/nuta/nsh |
| Repository | https://github.com/nuta/nsh |
| Bottle | not recorded |
| Service | none declared |
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
nsh
nix profile install nixpkgs#nshnsh 0.4.2-r1
A command-line shell like fish, but POSIX compatible
sudo apk add nshnsh-dbg 0.4.2-r1
A command-line shell like fish, but POSIX compatible (debug symbols)
sudo apk add nsh-dbgnsh
sudo port install nshsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.