# Install age-plugin-yubikey with Homebrew, MacPorts, Nix, pacman

Plugin for encrypting files with age and PIV tokens such as YubiKeys. Version 0.5.1 via Homebrew; verified 2026-07-10. Also installable with nix: nix profile install nixpkgs#age-plugin-yubikey.

## Install

```sh
sudo av install brew:age-plugin-yubikey
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install age-plugin-yubikey
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install age-plugin-yubikey
```

  Evidence: MacPorts ports tree: security/age-plugin-yubikey/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#age-plugin-yubikey
```

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

- pacman (92%):

```sh
sudo pacman -S age-plugin-yubikey
```

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

## Package facts

- **Package key:** brew:age-plugin-yubikey
- **Package manager:** Homebrew
- **Version:** 0.5.1
- **Source summary:** Plugin for encrypting files with age and PIV tokens such as YubiKeys
- **Homepage:** <https://github.com/str4d/age-plugin-yubikey>
- **Repository:** <https://github.com/str4d/age-plugin-yubikey>
- **Last updated:** 2026-07-10T16:49:54-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- age-plugin-yubikey (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.5.1
## Project history and usage

age-plugin-yubikey is the YubiKey/PIV hardware-token plugin for age clients, storing key material on supported YubiKeys while giving age and rage a normal identity-file interface.

### Project history

The project was created by str4d in August 2020, during the early period of the age ecosystem. Its first stable public release, v0.1.0, was published in May 2021, before age 1.0. The README presents it as a plugin for age clients such as age and rage, enabling files to be encrypted to age identities stored on YubiKeys.

The plugin matured alongside age's plugin support. age 1.1.0 was released in December 2022 with plugin and YubiKey support, while age-plugin-yubikey had already reached the 0.3.x series. Later releases continued through 0.5.x, with official packages and prebuilt binaries making it less of a from-source Rust tool and more of a normal installable CLI.

### Adoption history

The upstream README lists Cargo, Homebrew, Arch Linux, Debian packages from releases, NixOS, Ubuntu, OpenBSD, and prebuilt binaries for Windows, Linux, and macOS. The supplied package metadata additionally records Homebrew, MacPorts, Nix, and pacman coverage. This is a wider packaging footprint than many age plugins because hardware-token support is a common operational need.

### How it is used

Users configure a YubiKey identity either interactively by running `age-plugin-yubikey` or programmatically with `--generate`, then save the resulting age identity text to a file. Encryption uses recipients printed by `--list`; decryption works by ensuring the plugin is on `PATH` and passing the identity file to an age client with `-i`.

The README documents platform dependencies such as `pcscd` and `pcsc-lite`, WSL usage, PIN-cache behavior, supported YubiKey 4 and 5 variants, PIV slot details, and security management for default PIN and management-key handling.

### Why package nerds care

This package matters in the age ecosystem because it turns the plugin protocol into real hardware-backed daily use. It also shows the messy package-manager side of security tooling: Rust binary distribution, PC/SC middleware, distro packages, and USB-token platform support all have to line up before the simple age CLI flow feels simple.

### Timeline

- 2020: GitHub repository created.
- 2021: v0.1.0 released.
- 2022: v0.3.0 released; age v1.1.0 added plugin and YubiKey support.
- 2024: v0.5.0 released.
- 2026: v0.5.1 released.

### Related projects

- age is the reference age client and file encryption tool.
- rage is the Rust age client named by the README as a supported client.
- yubikey-agent is mentioned by the README as a possible integration point for future agent-style decryption support.

### Sources

- age official releases API
- official GitHub releases API
- official GitHub repository metadata
- source_facts.package-manager
- upstream README


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - age-plugin-yubikey: normalized package name match | nixpkgs package indexes: pkgs/by-name/ag/age-plugin-yubikey/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - age-plugin-yubikey - 0.5.1-1: normalized package name match | Arch Linux sync databases: age-plugin-yubikey from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Yubikey plugin for age | https://github.com/str4d/age-plugin-yubikey
- MacPorts - age-plugin-yubikey: normalized package name match | MacPorts ports tree: security/age-plugin-yubikey/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
