macOS
brew install haslocal Homebrew formula metadata
brew / rank 8602
Checks presence of various command-line tools and their versions on the path. Version 1.5.2 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#has.
install
brew install haslocal Homebrew formula metadata
nix profile install nixpkgs#hasnixpkgs package indexes · pkgs/by-name/ha/has/package.nix · source: api.github.com
overview
Checks presence of various command-line tools and their versions on the path
history
has is Kiran Dabir's dependency-free Bash utility for checking whether named command-line tools are on `PATH` and reporting their installed versions.
The official GitHub repository was created in February 2014. The project stayed centered on one portable Bash script while accumulating tool-specific version detection, readable success and failure output, meaningful exit status, and project-local `.hasrc` files.
A tagged GitHub release series is visible from v1.2.0 in 2018 through v1.5.2 in August 2025. The README continues to present direct download and execution as first-class options alongside package managers.
has spread through several conventions favored by shell users: direct `curl` execution, a copied script on `PATH`, Git installation, Homebrew, asdf, and mise. Supplied metadata also records Homebrew and Nix packages.
Users run commands such as `has node npm java git`; the output lists detected versions, and the exit status counts missing commands. A project can commit one tool name per line in `.hasrc`, letting `has` serve as an immediately readable environment preflight for developers and scripts.
has is a strong example of the single-file shell package: no runtime beyond Bash, directly inspectable source, multiple install methods, and behavior useful both interactively and in automation. A committed `.hasrc` also acts as a lightweight executable declaration of a repository's external toolchain.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
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.
./.hasrcexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
has | 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:has |
|---|---|
| Version | 1.5.2 |
| Package manager | Homebrew |
| Homepage | https://github.com/kdabir/has |
| Repository | https://github.com/kdabir/has |
| 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.
has
nix profile install nixpkgs#hassource 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.