Manage your pass-compatible password vault without leaving Raycast
π Β Search your vault Β π Β Copy and paste fields Β π Β Generate passwords and passphrases Β β±οΈ Β Use TOTP codes Β π Β Sync with Git
The extension needs a local GPG installation because rpass encrypts and decrypts entries on your machine:
rpass git ...This is a Raycast extension that uses the rpass CLI under the hood.
rpassInstall the CLI from crates.io:
cargo install rpass-cli
Or download a binary from the rpass-cli releases.
Raycast may not inherit the same PATH as your shell. The extension automatically checks common locations such as ~/.cargo/bin/rpass, /opt/homebrew/bin/rpass, and /usr/local/bin/rpass. If it still cannot find rpass, set its absolute path in the extension preference rpass Executable Path. For Cargo installs on macOS, this is usually:
/Users/<you>/.cargo/bin/rpass
Auto-detection is tuned for macOS/Linux locations, so on Windows you should set the executable preferences explicitly if rpass and gpg are not already on your PATH:
C:\Users\<you>\.cargo\bin\rpass.exeC:\Program Files (x86)\GnuPG\bin\gpg.exe (installed by Gpg4win)rpass uses the standard password-store format: entries are encrypted files such as example/login.gpg, recipients are stored in .gpg-id, and decrypted entries keep the password on the first line.
By default, the extension uses:
~/.password-store
You can choose a different folder in the extension preference Password Store Directory.
If the selected store does not exist or has no .gpg-id, the extension will show a setup form. Enter one or more GPG recipients, such as an email, key ID, or fingerprint, and the extension will initialize the store for you.
If your password store is a Git repository, write commands are committed automatically by rpass. Use the Sync Vault command to initialize Git for a new store, view recent history, pull changes, or push local commits.
The extension provides commands for common password-store workflows:
When opening an encrypted entry, the extension may ask for your GPG passphrase. It uses rpass --passphrase-stdin so the passphrase is passed through stdin, not through command-line arguments.
If decrypting entries times out, GPG may be waiting for pinentry. For non-interactive unlocks, enable loopback pinentry.
Edit ~/.gnupg/gpg-agent.conf and add:
allow-loopback-pinentry
Restart gpg-agent:
gpgconf --kill gpg-agent
Edit %APPDATA%\gnupg\gpg-agent.conf and add:
allow-loopback-pinentry
Restart gpg-agent:
gpgconf --kill gpg-agent
This does not change GPG cache durations. It only allows rpass --passphrase-stdin to pass the passphrase directly to GPG instead of opening a pinentry UI.
The extension relies on the rpass CLI and GnuPG, so the same security model applies:
rpass list --json and does not decrypt entries in bulk;gpg-agent before prompting again.Install dependencies:
npm install
Run the extension in Raycast development mode:
npm run dev
Run checks before declaring work done:
npx tsc --noEmit
npm test
npm run lint -- --exit-on-error --non-interactive