No private key, ever
The one upstream call that returns private key material is never used. Public keys are read one field at a time.
TERMINAL UI · RUST · MIT
List, generate, copy, trash and delete SSH keys — and run the SSH agent — with vim motions and one-letter actions. protui drives the official pass-cli and never touches a private key.
v0.1.0 is the latest release. Prebuilt binaries on GitHub Releases. Rust developers can also build from source.
protui doesn't talk to Proton's servers. It shells out to the official Proton Pass CLI, which must be installed and logged in — otherwise protui exits before opening a UI you can't use.
$ brew install protonpass/tap/pass-cli $ pass-cli login
Motions keep vim's meaning. Actions follow lazygit and k9s: one mnemonic letter each. No dd or yy — a list has one object under the cursor and no motions to disambiguate.
The one upstream call that returns private key material is never used. Public keys are read one field at a time.
Passphrases reach pass-cli through the environment, not the command line any user can read with ps.
Shared titles and comments are sanitised before drawing, so they can't clear your screen or write your clipboard via OSC 52.
Algorithm and fingerprint come from the public key itself — no extra secret access, and --show-secrets is never passed.
Dependencies are checked against the RustSec advisory database, clippy treats every warning as an error, and the tests run on Linux and macOS.
Every architectural choice has an ADR — read the reasoning ↗
Download the binary for your platform from the latest release, put it on your PATH, and run protui. macOS and Linux; Windows is not supported.
Copying uses the system clipboard: built in on macOS, xclip, xsel or wl-copy on Linux.
Latest release
v0.1.0
released 2026-10-31
Prebuilt binaries for macOS and Linux, attached to every GitHub release.
Download v0.1.0 ↓ All releases & changelog ↗# install straight from the repo; needs Rust 1.88 or newer cargo install --locked --git https://github.com/nxplain-sh/protui protui # or from a clone cargo xtask build # → target/release/protui cargo xtask install # → ~/.cargo/bin/protui
v1 lists, generates, views, copies, trashes and deletes SSH keys, and manages the agent. Logins, notes, TOTP and vault management stay with pass-cli.