macOS
brew install brushlocal Homebrew formula metadata
sudo port install brushMacPorts ports tree · shells/brush/Portfile · source: api.github.com
brew
Bourne RUsty SHell (command interpreter). Version 0.4.0 via Homebrew; verified 2026-06-15.
install
brew install brushlocal Homebrew formula metadata
sudo port install brushMacPorts ports tree · shells/brush/Portfile · source: api.github.com
nix profile install nixpkgs#brushnixpkgs package indexes · pkgs/by-name/br/brush/package.nix · source: api.github.com
sudo pacman -S brushArch Linux sync databases · brush · source: geo.mirror.pkgbuild.com
overview
Bourne RUsty SHell (command interpreter)
history
brush, the Bourne RUsty SHell, is a Rust shell that aims to run existing Bash and POSIX shell scripts while adding modern interactive behavior such as syntax highlighting and autosuggestions. Its packaging story is notable because it is a new shell trying to be installable as a boring system command rather than only as a Rust crate.
The project presents itself as a modern Bash- and POSIX-compatible shell written in Rust. Its README emphasizes compatibility with existing `.bashrc` files, aliases, functions, and completions, while the compatibility reference documents a test suite that compares behavior against Bash.
Unlike experimental shells that define a new language first, brush starts from the existing shell ecosystem. Its published identity is conservative: preserve Bash behavior, add Rust implementation benefits and interactive features, and expose an embeddable `brush_core::Shell` for Rust programs.
The official installation section lists Homebrew, Arch Linux, MSYS2, cargo-binstall, GitHub release binaries, and Nix, while the provided package facts also list Homebrew, MacPorts, Nix, and pacman. That puts brush in the normal multi-distribution pipeline for shell tools despite being a young implementation.
Adoption is still early compared with Bash, zsh, fish, or Oil/YSH, but the presence of distribution packages and a crates.io-oriented install path gives it several routes into developer workstations.
brush can be launched as an interactive shell and is designed to read existing Bash startup files. The README says `.bashrc` should work unchanged, with optional `~/.brushrc` and TOML configuration for brush-specific behavior.
Its current use case is compatibility testing, interactive daily-driver experimentation, and embedding shell behavior inside Rust programs. The compatibility reference marks many Bash features as supported while still documenting gaps such as `select`, `wait -n`, and some background-job details.
Shells are unusually package-sensitive because installing them is not enough: users may add them to login-shell databases, invoke them from scripts, and expect startup files and completions to work. brush is interesting because it tries to enter that old Unix contract while being implemented in Rust.
For maintainers, brush is a compact example of the modern Rust reimplementation wave applied to one of the hardest compatibility targets: Bash.
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.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/.bashrc~/.brushrc~/.config/brush/config.tomlexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
brush | cli | global executable |
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.
https://github.com/reubeno/brush
install metadata
| Package key | brew:brush |
|---|---|
| Version | 0.4.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/brush |
| Homepage | https://brush.sh |
| Repository | https://github.com/reubeno/brush |
| Upstream docs | https://brush.sh/docs |
| License | MIT |
| Source archive | https://github.com/reubeno/brush/archive/refs/tags/brush-shell-v0.4.0.tar.gz |
| Last updated | 2026-06-15T10:20:11-04:00 |
| Pulse | updated |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | brush |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
brush
nix profile install nixpkgs#brushbrush 0.4.0-1
Bash/POSIX-compatible shell implemented in Rust
https://github.com/reubeno/brush
sudo pacman -S brushbrush
sudo port install brushsource 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.