11.8. Why does Enigmail try to use gpg-agent?

Enigmail will use the gpg-agent for passphrase handling if any of the following conditions are fulfilled:

  • if GnuPG version 2.0 or higher is detected;
  • if the environment variable GPG_AGENT_INFO is set;
  • if the option Use gpg-agent for passphrase is active (this option is located in OpenPGP → Preferences → Advanced tab)

If you are using GnuPG version 1.4.x, and call the GnuPG executable with the parameter --use-agent, the usual cause is that the environment variable GPG_AGENT_INFO is set.
If the variable is set by your Linux/Unix distribution, but you don't want to use gpg-agent, you can unset the variable e.g. in the file .xsession or .bashrc, or you can launch your mailclient through a wrapper shell script like this one:

        #!/bin/sh
        unset GPG_AGENT_INFO
        exec /path/to/your/mailclient "$@"

An alternative solution if you don't want gpg-agent is to correctly install all helper utilities.
gpg-agent needs the pinentry tool to query for the password; if it's not available, then you need to install it. For Linux, you have the choice between pinentry-qt and pinentry-gtk. Install either of them, and create a link from it to pinentry.