# 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

```sh
sudo av install brew:has
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install has
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#has
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ha/has/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:has
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/has>
- **Version:** 1.5.2
- **Source summary:** Checks presence of various command-line tools and their versions on the path
- **Homepage:** <https://github.com/kdabir/has>
- **Repository:** <https://github.com/kdabir/has>
- **License:** MIT
- **Source archive:** <https://github.com/kdabir/has/archive/refs/tags/v1.5.2.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- has (cli)
- has (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 1.5.2
- Local data: ok
- Upstream repository: https://github.com/kdabir/has
- Upstream latest detected: v1.5.2 (current)
- info: No package-manager update timestamp was available.
## 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.

### Sources

- <https://api.github.com/repos/kdabir/has>
- <https://github.com/kdabir/has#readme>
- <https://github.com/kdabir/has/releases>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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

- Unix: ./.hasrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** has
- **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:** head, stable

## Other Package-Manager Records

- Nix - has: normalized package name match | nixpkgs package indexes: pkgs/by-name/ha/has/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://pkg.so/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://pkg.so/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [shellcheck](https://pkg.so/brew/shellcheck/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [shfmt](https://pkg.so/brew/shfmt/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [sheldon](https://pkg.so/brew/sheldon/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [bash-language-server](https://pkg.so/brew/bash-language-server/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [mcfly](https://pkg.so/brew/mcfly/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [zx](https://pkg.so/brew/zx/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [beautysh](https://pkg.so/brew/beautysh/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [jump](https://pkg.so/brew/jump/) - Shares pkgdb curated category or tags: bash, cli, developer-tools, shell.
- [argc](https://pkg.so/brew/argc/) - Local package facts share a topical domain. Shared terms: bash, cli, developer, developer-tools, line.
- [bat-extras](https://pkg.so/brew/bat-extras/) - Local package facts share a topical domain. Shared terms: bash, cli, command-line, developer, developer-tools.
- [scalaenv](https://pkg.so/brew/scalaenv/) - Local package facts share a topical domain. Shared terms: cli, command-line, developer, developer-tools, environment.

## Combined YAML source

View the package source record on GitHub. [combined/has.yml](https://github.com/mxcl/pkgdb/blob/main/combined/has.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
