gpgpwd About Bugs Support Manpage git repository Download



gpgpwd - a command-line password manager based around GnuPG




gpgpwd is a terminal-based password manager. It stores a list of passwords (and optionally the associated usernames) in a GnuPG encrypted file, and allows you to easily retrieve, change and add to that file as needed. It also generates random passwords that you can use, easily allowing you to have one "master password" (for your gpg key), with one unique and random password for each website or service you use, ensuring that your other accounts stay safe even if one password gets leaked.

gpgpwd can also utilize git(1) to allow you to easily synchronize your passwords between different machines.



Display the help screen


Output the gpgpwd version and exit

-v, --verbose

Increase gpgpwd verbosity. May be supplied multiple times to further increase verbosity.

-p, --password-file FILE

Set the password file to FILE instead of the default. This changes where gpgpwd reads and writes the password database.

You may supply several --password-file arguments, but only the last one will be used.

-s, --set <key>=<value>

Temporarily sets <key> to <value> for the duration of a single gpgpwd command. Using --set temporarily disables the config subcommand.

-C, --no-clipboard

Disables copying of passwords to the clipboard. Depending on the clipboardMode setting in the configuration file (which defaults to being enabled) gpgpwd will copy passwords to the clipboard for easy pasting into password fields. When this option is supplied it supresses this behaviour.

This is equivalent to providing --set clipboardMode=disabled.


Return all posible results for a "get" request. This includes very fuzzy results. The default, which is to return only the best results, is usually preferable to --all.


Display some information useful for debugging.


get NAME

Get the password for NAME. NAME can be a perl-compatible regular expression. If no matches are found gpgpwd will attempt to perform a fuzzy search, to see if something similar can be found (ie. to correct for typos).

If you want to retrieve your entire database you may simply supply . as NAME, since it accepts a regular expression and . will match everything.

set NAME

Set (add or change) the password for NAME. You will be prompted interactively for the password, and will be given a random password that you may use if you wish.

remove NAME

Remove the password for NAME from the database.


Rename the entry for OLDNAME to NEWNAME.

alias TO NAME

This creates an alias (think symlink) to TO named NAME. That means that you can enter 'get NAME' and gpgpwd will respond with the entry for TO instead.

batchadd FILE

Read and add a list of passwords from FILE. The format is simple:


Everything up until the first bit of whitespace is taken to be the name, and everything from the first non-whitespace character after that and until the end of the line is taken to be the password. It will ignore empty lines and lines starting with #.


Provides certain git commands

git init

Initialize a gpgpwd git repository.

This can be used to keep a password database in sync between several different computers. This causes gpgpwd to git pull before it writes any change to the file, and git commit and git push after a change has been made. In read mode it will git pull after getting a password, if it detects that the password file has changed after pulling, gpgpwd will process your get request again, in case the password you wanted has changed.

git clone git://compatible/url

Clone an existing gpgpwd git repository from the git URL supplied (supports all git URLs that your native git supports).

git initremote remote?

Initializes a fresh remote. Will push our git repository to the remote and set our master branch to track it.

git pull, git fetch, git remote, git branch

Provides access to the git commands of the same name for the gpgpwd git repository. See the manpages for the commands themselves for more information. To pass command-line parameters to git you must first supply --, ie. `gpgpwd fetch -- -v`


Upgrades a database file using the old format (v1, used by gpgpwd 0.3 and older) to the new format (v2, used by gpgpwd 0.4 and later).


Manages the gpgpwd configuration file. Without any parameters it will output the current configuration. You may also supply a single configuration key to get the value for that key, or a key=value pair to set key to value.

config remove entry

Unsets a configuration value (which resets it to the default value)



The path to the gpgpwd password database file. You can also override this with --password-file (ie. to temporarily operate on a different file).


Configures the git mode for gpgpwd.

Set to true to always enable.

Set to auto to enable if the password file is in a directory contianing a .git-directory. This is the default.

Set to false to always disable.


By default gpgpwd will copy passwords to the clipboard (the one that pastes through the usual ctrl+v or "right click -> paste" means). With this you can change it. It accepts the following parameters:


The default, copies to the 'normal' clipboard. Paste with ie. ctrl+v.


Copy to the 'selection' clipboard. Paste with ie. middle-click.


Copy to both the 'normal' and 'selection' clipboards.


Don't automatically copy passwords to the clipboard.


Sets the length of the default password generated by gpgpwd An integer between 10-250. The special value 0 uses the gpg default (which is currently 15, but may be increased later)

You can override this temporarily with the /regenerate command on the password prompt.


Enables or disables storing usernames. If this is set to "false" then gpgpwd will not prompt for usernames, nor display usernames when an entry is retrieved. If it is set to "true" then gpgpwd will both store and display usernames for entries in the password database.

The default is true.


gpgpwd set test

Add a password for 'test' to the database, gpgpwd will prompt you for the password.

gpgpwd get test

Retrieve the password we just added.

gpgpwd remove test

Remove test from the adatabase

gpgpwd -g set testpwd

Add the password for testpwd to the database and commit+push the file using git afterwards.

gpgpwd rename testpwd test-password

Rename 'testpwd' to 'test-password'.


If you need additional help, please visit the website at


If you find a bug, please report it at

Include the output of 'gpgpwd --debuginfo' in any bug report.


gpgpwd is written by Eskild Hustvedt <code aatt zerodogg d0t org>



The gpgpwd configuration and database directory. XDG_CONFIG_HOME is an environment variable specified by the XDG Base Directory Specification. The default value for XDG_CONFIG_HOME (and the value on most systems) is ~/.config, so on most systems this will be ~/.config/gpgpwd.


The default save location for the password database, overrideable by using --password-file and the dataPath configuration option.


The gpgpwd configraution file. Can also be managed using the 'gpgpwd config' command.


Projects dontreadthecomments fcgim GoldenPod gpgpwd MagicPO Migraine Log mussort rotcelloc wwine Show more