gpg-preset-passphrase: caching passphrase failed: Not supported
Solution 1:
This feature must first be enabled in ~/.gnupg/gpg-agent.conf
using the option:
allow-preset-passphrase
After editing the config it might be enough to gpg-connect-agent reloadagent /bye
, or you might need to restart the agent completely.
Note that the preset passphrase is only stored in memory – it will not persist across reboots. (How would gpg-agent store it securely, anyway?)