{
    "mode": "man",
    "parameter": "GPG-PRESET-PASSPHRASE",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/GPG-PRESET-PASSPHRASE/1/json",
    "generated": "2026-06-03T03:51:35Z",
    "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\n\n\nGnuPG 2.2.27                                 2020-12-21                     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"
        }
    ]
}