pkg.sopackage field notes

brew / rank 8162

Install yash with Homebrew

Yet another shell: a POSIX-compliant command-line shell. Version 2.61 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install yash

provider-native install command

overview

Package summary

Yet another shell: a POSIX-compliant command-line shell

Commands and aliases

  • yash

history

Project history and usage

yash, Yet Another Shell, is Yuki Watanabe's POSIX-focused command-line shell. It aims to be highly POSIX-compliant while still offering interactive conveniences such as completion, prediction, arrays, aliases, extended globbing, and redirection features.

Project history

Upstream NEWS records Yash 2.0 alpha0 as the first 2.x release on 2008-05-26. The project later moved to GitHub; the README says it is maintained on GitHub but was formerly on OSDN, and the GitHub repository was created on 2012-11-24.

A defining thread in Yash history is conformance work. NEWS records POSIX.1-2008 conformance in Yash 2.8 in April 2009, support for the 2013 edition of POSIX.1-2008 in 2.42 in August 2016, and support for POSIX.1-2008 Technical Corrigendum 2 in 2.44 in January 2017. The current README says Yash now fully supports POSIX.1-2024 except for listed limitations.

The project has stayed actively maintained in a conservative shell-tooling style. The README describes stable maintenance releases every three months or so, and GitHub releases show 2.61 published on 2026-03-03.

Adoption history

Yash's adoption is niche compared with bash, zsh, dash, or fish, but it has a clear role for users who care about POSIX behavior, shell-language edge cases, and an interactive shell that does not primarily chase bash compatibility. Package managers such as Homebrew, MacPorts, Fedora, Nix, and Ubuntu carry it as an alternative shell rather than as a default system shell.

Its maintenance style also attracts shell implementers and portability-minded users: NEWS entries repeatedly track standard changes, built-in behavior, job control, pathname expansion, and line-editing details rather than splashy user-interface pivots.

How it is used

Users can run yash as an interactive shell, script interpreter, or login shell. The README documents startup files under `$XDG_CONFIG_HOME/yash/profile` or `~/.yash_profile` for login shells and `$XDG_CONFIG_HOME/yash/rc` or `~/.yashrc` for interactive configuration.

In practice it is useful for POSIX shell testing, portable script development, and users who want a smaller standards-oriented shell with interactive amenities such as command completion, history-based prediction, global aliases, arrays, and extended globbing.

Why package nerds care

yash is package-nerd significant because shells are both applications and compatibility surfaces. Packaging yash gives users a reproducible alternative interpreter for testing scripts against POSIX semantics without replacing the system `/bin/sh`.

It is also a good example of long-haul small-project maintenance: standards tracking, portability fixes, completion updates, and cautious release cadence matter more than branding. That makes it valuable in package collections even when its user base is specialized.

Timeline

  • 2008-05-26: Yash 2.0 alpha0 is recorded as the first 2.x release.
  • 2009-04-18: Yash 2.8 NEWS states conformance to POSIX.1-2008.
  • 2012-11-24: magicant/yash repository is created on GitHub.
  • 2016-08-27: Yash 2.42 adds support for the 2013 edition of POSIX.1-2008.
  • 2017-01-17: Yash 2.44 adds support for POSIX.1-2008 Technical Corrigendum 2.
  • 2026-03-03: Yash 2.61 is released; the manual version matches 2.61.

Related projects

  • dash and bash are common comparison points for POSIX shell behavior and scripting compatibility.
  • zsh and fish occupy the more feature-forward interactive shell space that yash partially overlaps but does not try to clone.
  • yash-rs is the upstream author's Rust reimplementation project for a future extended POSIX shell.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
$XDG_CONFIG_HOME/yash/profile~/.yash_profile$XDG_CONFIG_HOME/yash/rc~/.yashrc

executables

Installed executables

CommandKindExposureNote
yashexecutableindexed executableDiscovered from the local executable index.

freshness

Version and 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.

page generated2026-08-03
manager version2.61
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:yash
Version2.61
Package managerHomebrew
Homepagehttps://magicant.github.io/yash/
Repositoryhttps://github.com/magicant/yash
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated configuration and credential file locations
  • curated package history
  • pkgdb category and tag curation