Issues

Can't save a password

I have an issue with GNOME keyring

enable-ssh-support
write-env-file
use-standard-socket
default-cache-ttl 600
max-cache-ttl 7200

I don't get a passphrase / PIN dialog

I have another issue with gpg

gpg --export [ID] > public.key
gpg --export-secret-key [ID] > private.key
gpg2 --import public.key
gpg2 --import private.key
rm public.key private.key

Where [ID] is your gpg key-id. If your setup is reversed, exchange gpg and gpg2 accordingly.

Git doesn't work on Windows

Git for Windows comes with an ssh-askpass compatible command, git-gui--askpass (located in /mingw64/libexec/git-core/git-gui--askpass on PortableGit version, presumably some place similar for the installed version).

To use it:

  1. Set SSH_ASKPASS environment variable to the full path of git-gui--askpass, for example:

    C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass.exe
    
  2. Optionally set GIT_ASKPASS to the same value so Git uses the same helper.

  3. Restart QtPass after setting the environment variables.

Example using PowerShell:

$env:SSH_ASKPASS = "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass.exe"
$env:GIT_ASKPASS = "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass.exe"

Or to make it permanent:

setx SSH_ASKPASS "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass.exe"
setx GIT_ASKPASS "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass.exe"

Note: After using setx, you'll need to start QtPass in a new session (close and reopen your terminal, or log out and back in) for the environment variables to take effect.

Git has issues with GPG SSH Authentication

This tutorial might resolve your issues. https://gitforwindows.org/OpenSSH-Integration-with-Pageant

gpg reports a missing /tmp/tst_integration-…/pubring.kbx

QtPass is pointing gpg at a GNUPGHOME that no longer exists. The 1.7.0 test suite wrote its temporary keyring path into the live configuration when make check was run as your own user (for example by a distribution package build), and never removed it. Delete the gpgHome= line from ~/.config/IJHack/QtPass.conf (or set it to empty) and restart QtPass. Since 1.8.1 QtPass ignores a configured GPG home that does not exist and shows a status message instead.

GPG says "Public key unusable" or "No secret key"

Your GPG key may not be trusted or has expired. Run gpg --edit-key <KEYID> and:

What is the "Signing Key" in profile settings?

The Signing Key field in profile configuration is optional and usually should be left empty.

It is only needed if you want to create detached signatures for your .gpg-id files to verify the recipients list hasn't been tampered with. Most users can ignore this field.

Common mistake: Putting your GPG key ID here will cause "Signature does not exist" errors when saving passwords. Leave it empty unless you specifically need signature verification.

How do I import someone else's GPG key?

Open the Users dialog (the Users button in the toolbar) and click Import key. You can:

Once imported, QtPass refreshes the user list and selects the new key so you can tick it as a recipient. Binary keyrings aren't accepted in this dialog — convert them first with gpg --armor --export <KEYID>.

What does the Share submenu do?

Right-click on a folder in the password tree to access the Share submenu. It bundles the recipient-management actions in one place:

The submenu only appears on folders, not individual password files.

How do I set up a one-time password (OTP/TOTP)?

QtPass generates TOTP codes itself (RFC 6238) — you no longer need the pass-otp extension, and it works on every platform.

  1. Make sure Enable one-time password (OTP) support is checked on the Settings tab of the configuration dialog (it is on by default).
  2. Store the account's otpauth:// URI in the entry. Put it in the OTP template field, or on its own line in the body (the form pass otp insert writes). A bare base32 secret works too.
  3. Select the entry: QtPass shows a live code with a countdown and a copy button, refreshing automatically. SHA-1/SHA-256/SHA-512 and Steam Guard codes are all supported.

The shared secret itself is never shown on screen or copied — only the current code is.

QtPass shows an OTP code and I don't want it to

OTP support is enabled by default. To hide the live codes, uncheck Enable one-time password (OTP) support on the Settings tab of the configuration dialog. The choice is remembered. Your entries are unchanged — the otpauth:// secret stays in the file and QtPass simply stops rendering a code for it.

OTP QR codes don't work on macOS

Applications launched from Finder don't inherit the shell PATH. Install QtPass via Homebrew (which sets up PATH correctly) or create a wrapper script that sets PATH before launching QtPass, for example:

#!/usr/bin/env bash
# Adjust PATH as needed for your Homebrew / QtPass installation
export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH"
exec /Applications/QtPass.app/Contents/MacOS/qtpass "$@"

Save this script (e.g. as ~/bin/qtpass-wrapper.sh), make it executable with chmod +x ~/bin/qtpass-wrapper.sh, and configure your launcher (Automator app, custom .app bundle, or shortcut) to run this script instead of starting QtPass directly.

QtPass doesn't follow my system language

QtPass uses the system language at startup. On some desktop environments, you may need to launch QtPass from the terminal or configure your desktop environment to pass the correct locale environment variables.

Where is the configuration stored?

QtPass tries to use the native configuration location for the operating system it is running on.

These settings can be overridden by a qtpass.ini file in the folder where the application resides. So-called "portable config".

There are some things to take care of when trying to sync on some systems (especially macOS, with regards to text and binary .plist files).

More information: https://doc.qt.io/qt-6/qsettings.html#platform-specific-notes

Where can I ask for help?

Can I import from KeePass, LastPass or X?

I don't see icons on the buttons

You do not have the Qt SVG library installed. Please install using your favorite package manager.

I get icons that do not fit my (X11) default

export DESKTOP_SESSION=gnome

Can not find either qmake or qmake6

QtPass uses Qt6 by default. Use:

If you get an error like "QApplication" not found or Qt installation issues, make sure you're using the correct qmake version for your Qt installation.

On some systems, you may need to specify the full path, e.g., /usr/lib/qt6/bin/qmake6.

Qt installation issues

If you encounter Qt installation issues, you'll have to install the current version via your package manager or download it from https://www.qt.io/download/ and build from source.

I don't like the design, what gives?

QtPass is not in my native language

How do I set the language manually?

QtPass uses the system language (via QLocale::system()). Changing it depends on your platform:

How can I help improve QtPass?

I would like to donate