{
    "mode": "man",
    "parameter": "gpg-preset-passphrase",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/gpg-preset-passphrase/1/json",
    "generated": "2026-09-01T20:15:22Z",
    "synopsis": "gpg-preset-passphrase [options] [command] cache-id",
    "sections": {
        "NAME": {
            "content": "gpg-preset-passphrase - Put a passphrase into gpg-agent's cache\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "gpg-preset-passphrase [options] [command] cache-id\n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The gpg-preset-passphrase is a utility to seed the internal cache of a running gpg-agent with\npassphrases.   It is mainly useful for unattended machines, where the usual pinentry tool may\nnot be used and the passphrases for the to be used keys are given at machine startup.\n\nThis program works with GnuPG 2 and later.  GnuPG 1.x is not supported.\n\nPassphrases set with this utility don't expire unless the --forget option is used to  explic‐\nitly clear them from the cache --- or gpg-agent is either restarted or reloaded (by sending a\nSIGHUP  to  it).   Note that the maximum cache time as set with --max-cache-ttl is still hon‐\nored.  It is necessary to allow this passphrase presetting by  starting  gpg-agent  with  the\n--allow-preset-passphrase.\n\n\n\n\ngpg-preset-passphrase is invoked this way:\n\ngpg-preset-passphrase [options] [command] cacheid\n\ncacheid  is  either  a 40 character keygrip of hexadecimal characters identifying the key for\nwhich the passphrase should be set or cleared.  The keygrip is listed along with the key when\nrunning the command: gpgsm --with-keygrip  --list-secret-keys.   Alternatively  an  arbitrary\nstring  may  be used to identify a passphrase; it is suggested that such a string is prefixed\nwith the name of the application (e.g foo:12346).   Scripts  should  always  use  the  option\n--with-colons, which provides the keygrip in a \"grp\" line (cf. ‘doc/DETAILS’)/\n\n\nOne of the following command options must be given:\n\n",
            "subsections": [
                {
                    "name": "--preset",
                    "content": "Preset  a  passphrase.  This  is what you usually will use. gpg-preset-passphrase will\nthen read the passphrase from stdin.\n\n",
                    "long": "--preset"
                },
                {
                    "name": "--forget",
                    "content": "Flush the passphrase for the given cache ID from the cache.\n\n\nThe following additional options may be used:\n\n",
                    "long": "--forget"
                },
                {
                    "name": "-v",
                    "content": "",
                    "flag": "-v"
                },
                {
                    "name": "--verbose",
                    "content": "Output additional information while running.\n\n",
                    "long": "--verbose"
                },
                {
                    "name": "-P _",
                    "content": "--passphrase string\nInstead of reading the passphrase from stdin, use the supplied string  as  passphrase.\nNote that this makes the passphrase visible for other users.\n",
                    "flag": "-P"
                }
            ]
        },
        "SEE ALSO": {
            "content": "gpg(1), gpgsm(1), gpg-agent(1), scdaemon(1)\n\nThe  full  documentation  for  this tool is maintained as a Texinfo manual.  If GnuPG and the\ninfo program are properly installed at your site, the command\n\ninfo gnupg\n\nshould give you access to the complete manual including a menu structure and an index.\n\n\n\n\n\n\nGnuPG 2.4.4                                  2024-01-25                     GPG-PRESET-PASSPHRASE(1)",
            "subsections": []
        }
    },
    "summary": "gpg-preset-passphrase - Put a passphrase into gpg-agent's cache",
    "flags": [
        {
            "flag": "",
            "long": "--preset",
            "arg": null,
            "description": "Preset a passphrase. This is what you usually will use. gpg-preset-passphrase will then read the passphrase from stdin."
        },
        {
            "flag": "",
            "long": "--forget",
            "arg": null,
            "description": "Flush the passphrase for the given cache ID from the cache. The following additional options may be used:"
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": "--verbose",
            "arg": null,
            "description": "Output additional information while running."
        },
        {
            "flag": "-P",
            "long": null,
            "arg": null,
            "description": "--passphrase string Instead of reading the passphrase from stdin, use the supplied string as passphrase. Note that this makes the passphrase visible for other users."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "gpg",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/gpg/1/json"
        },
        {
            "name": "gpgsm",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/gpgsm/1/json"
        },
        {
            "name": "gpg-agent",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/gpg-agent/1/json"
        },
        {
            "name": "scdaemon",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/scdaemon/1/json"
        },
        {
            "name": "GPG-PRESET-PASSPHRASE",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/GPG-PRESET-PASSPHRASE/1/json"
        }
    ]
}