Must be updated within the past two years (May 2020) to be on this list. Listed in alphabetical order:
- 1Password CLI1 and CLI2
- Written by the 1Password team.
- Written in Go using the Cobra library.
- CLI2 has new sub-command syntax that differs from CLI1.
- JSON output is difficult to work with.
- Requires 1Password account.
- Proprietary software.
- bw
- Written by the Bitwarden team.
- Written in TypeScript.
- JSON output is difficult to work with.
- Requires Bitwarden account.
- gopass
- Written by the developers at JustWatch.
- Written in Go.
- Requires GPG keys.
- Each entry stored in its own file (information leak).
- Supports encrypting entries to multiple keys and sharing with teams.
- keepassxc-cli
- Written by the KeepassXC team.
- Written in C++.
- Ships both a GUI and CLI in a single package.
- Supports key files and Yubikey.
- Interactive shell.
- kpcli
- Written by Lester Hightower.
- Written in Perl.
- Supports key files.
- Interactive shell.
- Only supports KDBX 1.x and 2.x.
- napa
- Written by Jacob Garber.
- Written in Rust using libsodium.
- Interactive shell.
- Currently "alpha" software.
- pass
- Written by Linux kernel developer Jason Donenfeld.
- Written in Bash.
- Requires GPG keys.
- Each entry stored in its own file (information leak).
- Does not keep password history.
- passage
- Written by cryptographer Filippo Valsorda.
- Written in Bash.
- Requires Age keys.
- Each entry stored in its own file (information leak).
- Does not keep password history.
- pwsafe
- Written initially by cryptographer Bruce Schneier, now maintained by the Password Safe team.
- Written in C++.
- Ships both a GUI and CLI in a single package.
- Different from this pwsafe, which is a 3rd party implementation by Nicolas Dade.
- YAPET
- Written by Rafael Ostertag.
- Written in C++ using OpenSSL.
- Curses based interactive text UI.
- Master password stretched with Argon2.
- Interactive shell.