# Install bat with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Clone of cat(1) with syntax highlighting and Git integration. Version 0.26.1 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:bat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bat
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bat
```

  Evidence: MacPorts ports tree: textproc/bat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add bat
```

  Evidence: Alpine Linux edge package indexes: bat from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install bat
```

  Evidence: Debian stable package indexes: bat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install bat
```

  Evidence: Fedora Rawhide package metadata: bat from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#bat
```

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

- pacman (92%):

```sh
sudo pacman -S bat
```

  Evidence: Arch Linux sync databases: bat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install bat
```

  Evidence: openSUSE Tumbleweed package metadata: bat from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install Bat
```

  Evidence: Chocolatey community package catalog: Bat from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','backupper-standard'

- Scoop (92%):

```sh
scoop install main/bat
```

  Evidence: Scoop official bucket manifest trees: bucket/bat.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id sharkdp.bat -e
```

  Evidence: Windows Package Manager source index: sharkdp.bat from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:bat
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bat>
- **Version:** 0.26.1
- **Source summary:** Clone of cat(1) with syntax highlighting and Git integration
- **Homepage:** <https://github.com/sharkdp/bat>
- **Repository:** <https://github.com/sharkdp/bat>
- **Upstream docs:** <https://github.com/sharkdp/bat#readme>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/sharkdp/bat/archive/refs/tags/v0.26.1.tar.gz>
- **Last updated:** 2026-06-22T14:02:51-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bat (cli)
- bat (alias)

## Dependencies

- libgit2
- oniguruma

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.26.1
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/sharkdp/bat
- Upstream latest detected: v0.26.1 (current)
## Project history and usage

bat is a Rust command-line file viewer that deliberately starts from cat(1) and adds syntax highlighting, Git modification markers, automatic paging, line numbers, and integration hooks for other terminal tools.

### Project history

bat's first GitHub release, v0.1.0, was published on April 22, 2018 as an initial release. The project describes itself as a cat(1) clone with syntax highlighting and Git integration, and its README states goals of advanced highlighting, Git integration, POSIX-cat replacement behavior, and a friendlier command-line interface.

The tool has stayed in the familiar Unix-filter shape rather than becoming an editor. Its README documents both pretty terminal output and fallback behavior for non-interactive output, where bat acts as a drop-in cat-style concatenator.

By the v0.25.0 release, bat was still adding practical terminal features such as squeeze-blank support, ANSI stripping, shell completions, theme behavior, and broader syntax handling, showing a mature utility polishing edge cases rather than changing identity.

### Adoption history

bat became one of the canonical modern Rust CLI replacements, helped by packaging across Homebrew, Debian, Ubuntu, Fedora, Arch, Alpine, Nix, MacPorts, Chocolatey, Scoop, winget, and other systems listed in the input metadata and upstream README.

The README notes that Ubuntu has carried bat since 20.04 and Debian since Bullseye, with older Debian-family releases installing the executable as batcat because of a package-name clash. That rename became part of bat's package-manager lore.

The repository's GitHub page showed roughly 59.5k stars and 43 releases at enrichment time, making bat far more than a niche wrapper.

### How it is used

bat is commonly used directly as `bat FILE`, as a pager-backed file viewer, as a syntax-colored stdin renderer, as a git-aware diff context viewer, and as a cat replacement when invoked in non-interactive pipelines.

The README documents integrations with fzf previews, find or fd, ripgrep through batgrep, tail -f log viewing, git show, git diff helpers, and clipboard workflows where plain output matters.

### Why package nerds care

bat is significant because it helped define the 2010s/2020s style of polished Rust command-line utilities: familiar Unix nouns, fast single binaries, colorful defaults, Git awareness, good package-manager coverage, and careful degradation in pipes.

For package nerds, it is also a naming and policy specimen. The Debian/Ubuntu batcat period shows how a simple binary name can collide with existing packages, forcing downstream-visible aliases and workarounds even for a very popular tool.

It matters culturally because many later CLI packages pitch themselves in the same grammar: a small classic Unix command, rebuilt with syntax awareness, colors, Git context, and modern ergonomics.

### Timeline

- 2018: v0.1.0 initial release published on GitHub.
- 2020: README documents availability in Ubuntu 20.04 and later.
- 2021: README documents availability in Debian 11 Bullseye and later.
- 2025: v0.25.0 release adds polish such as squeeze-blank, ANSI-stripping, shell completions, and theme behavior.
- 2025: Repository page lists v0.26.1 as the latest release on December 2, 2025.

### Related projects

- bat-extras builds helper scripts around bat for ripgrep, man pages, diffs, and other terminal workflows.
- delta is called out by bat's README as a related tool for richer git and diff support.
- fd, fzf, ripgrep, git, less, and tail are common tools bat is documented to integrate with.

### Sources

- <https://github.com/sharkdp/bat>
- <https://github.com/sharkdp/bat/releases/tag/v0.1.0>
- <https://github.com/sharkdp/bat/releases/tag/v0.25.0>
- 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: /etc/bat/config
- Windows: C:\ProgramData\bat\config
## Source Database Details

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

- Debian apt - bat - 0.25.0-2+b2: normalized package name match | Debian stable package indexes: bat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | cat(1) clone with syntax highlighting and git integration | https://github.com/sharkdp/bat
- Nix - bat: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/bat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - bat - 0.24.0-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: bat from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | cat(1) clone with syntax highlighting and git integration | https://github.com/sharkdp/bat
- apk - bat - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: bat from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | cat(1) clone with wings | https://github.com/sharkdp/bat
- apk - bat-bash-completion - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: bat-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for bat | https://github.com/sharkdp/bat
- apk - bat-doc - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: bat-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | cat(1) clone with wings (documentation) | https://github.com/sharkdp/bat
- apk - bat-fish-completion - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: bat-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for bat | https://github.com/sharkdp/bat
- apk - bat-zsh-completion - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: bat-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for bat | https://github.com/sharkdp/bat
- dnf - bat - 0.26.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: bat from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Cat(1) clone with wings | https://crates.io/crates/bat
- pacman - bat - 0.26.1-2: normalized package name match | Arch Linux sync databases: bat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Cat clone with syntax highlighting and git integration | https://github.com/sharkdp/bat
- zypper - bat - 0.26.1-1.3: normalized package name match | openSUSE Tumbleweed package metadata: bat from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A cat(1) clone with syntax highlighting and Git integration | https://github.com/sharkdp/bat
- zypper - bat-bash-completion - 0.26.1-1.3: normalized package name match | openSUSE Tumbleweed package metadata: bat-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash completion for bat | https://github.com/sharkdp/bat
- zypper - bat-fish-completion - 0.26.1-1.3: normalized package name match | openSUSE Tumbleweed package metadata: bat-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fish completion for bat | https://github.com/sharkdp/bat
- zypper - bat-zsh-completion - 0.26.1-1.3: normalized package name match | openSUSE Tumbleweed package metadata: bat-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zsh completion for bat | https://github.com/sharkdp/bat
- MacPorts - bat: normalized package name match | MacPorts ports tree: textproc/bat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - Bat: normalized package name match | Chocolatey community package catalog: Bat from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','backupper-standard'


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [libgit2](https://www.automicvault.com/pkg/brew/libgit2/) - Runtime dependency declared by Homebrew.
- [oniguruma](https://www.automicvault.com/pkg/brew/oniguruma/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [nb](https://www.automicvault.com/pkg/brew/nb/) - Popular package that depends on this formula.
- [ccat](https://www.automicvault.com/pkg/brew/ccat/) - Shares av.db curated category or tags: cat, cli, developer-tools, syntax-highlighting.
- [diffr](https://www.automicvault.com/pkg/brew/diffr/) - Shares av.db curated category or tags: cli, developer-tools, git, syntax-highlighting.
- [gat](https://www.automicvault.com/pkg/brew/gat/) - Shares av.db curated category or tags: cat, cli, developer-tools, syntax-highlighting.
- [git-delta](https://www.automicvault.com/pkg/brew/git-delta/) - Shares av.db curated category or tags: cli, developer-tools, git, syntax-highlighting.
- [git-split-diffs](https://www.automicvault.com/pkg/brew/git-split-diffs/) - Shares av.db curated category or tags: cli, developer-tools, git, syntax-highlighting.
- [nyan](https://www.automicvault.com/pkg/brew/nyan/) - Shares av.db curated category or tags: cat, cli, developer-tools, syntax-highlighting.
- [aicommit](https://www.automicvault.com/pkg/brew/aicommit/) - Shares av.db curated category or tags: cli, developer-tools, git.
- [aicommit2](https://www.automicvault.com/pkg/brew/aicommit2/) - Shares av.db curated category or tags: cli, developer-tools, git.
- [codevis](https://www.automicvault.com/pkg/brew/codevis/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, highlighting, oniguruma.
- [bat](https://www.automicvault.com/pkg/cargo/bat/) - Same normalized package name exists in another local package ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/bat.yml](https://github.com/automic-vault/db/blob/main/combined/bat.yml)


## Sources

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