pkg.soopen package index

brew / rank 8602

Install has with Homebrew, Nix

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

Additional install commands

macOS

Homebrewverified · 100%
brew install has

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#has

nixpkgs package indexes · pkgs/by-name/ha/has/package.nix · source: api.github.com

overview

Package summary

Checks presence of various command-line tools and their versions on the path

Commands and aliases

  • has

history

Project history and usage

has is Kiran Dabir's dependency-free Bash utility for checking whether named command-line tools are on `PATH` and reporting their installed versions.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2014: The official GitHub repository is created.
  • 2018: v1.2.0 begins the visible GitHub release series.
  • 2025: v1.5.2 is released in August.

Related projects

  • asdf-has packages has as an asdf plugin.
  • mise can install has through its version-manager workflow.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

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
./.hasrc

executables

Installed executables

CommandKindExposureNote
hasexecutableindexed 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 version1.5.2
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:has
Version1.5.2
Package managerHomebrew
Homepagehttps://github.com/kdabir/has
Repositoryhttps://github.com/kdabir/has
Bottlenot recorded
Servicenone declared

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

has

nix profile install nixpkgs#has
  • normalized package name match
  • Matched by: Has
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ha/has/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

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
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation