Emacs Failed to Verify Signature (ELPA Package Install Error)
Quick answer
Emacs refuses to refresh or install packages because the GNU ELPA signing key is expired or missing. Install gnu-elpa-keyring-update with signature checking temporarily off, then refresh again.
Most likely fix: Install the keyring update package with checking off
How to fix it
Try these in order — the most common fix is first.
1. Install the keyring update package with checking off
- Evaluate: (let ((package-check-signature nil)) (package-refresh-contents) (package-install 'gnu-elpa-keyring-update))
- Run M-x package-refresh-contents again
- Restart Emacs so package-check-signature returns to its normal value
Did this fix it?2. Retry later if the error is brief
- Wait an hour and run M-x package-refresh-contents again
- Check the Emacs bug tracker for a current ELPA signature report
Did this fix it?3. Check GnuPG itself
- Make sure gpg is installed and on the Emacs exec-path
- Delete ~/.emacs.d/elpa/gnupg and retry so the keyring is rebuilt
Did this fix it?
Symptoms
package-refresh-contents or package-install fails with 'Failed to verify signature archive-contents.sig', 'Bad signature from GNU ELPA Signing Agent' or 'No public key'.
Why it happens
- The GNU ELPA signing key in your local keyring has expired or rotated
- The key is missing because Emacs was freshly installed with an empty ~/.emacs.d/elpa/gnupg
- The keyring update package cannot itself be installed because the check fails
- A stale .sig file on the server for a short time (retrying later works)
This guide also covers
- emacs failed to verify signature
- emacs bad signature from gnu elpa signing agent
- emacs package-refresh-contents error
Still not working?
If GNU Emacs keeps failing, you're not alone. See every GNU Emacs problem users report or the alternatives people switch to.
Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.
Talk to usThe same problem in other apps
All not loading, error messages & connection guides →
Vim Requires Python 3 Support Error (YouCompleteMe) (Vim)
IntelliJ IDEA JDK Not Found or Invalid (JetBrains IntelliJ)
Obsidian Stuck on Loading Cache or Slow to Start (Obsidian)
Other GNU Emacs errors
- Emacs Slow Startup
- Emacs Native Compilation Warnings Popping Up
- Emacs Slow or Freezing With Large Files
- Emacs Eglot / LSP Not Working
- Emacs macOS Operation Not Permitted (Documents, Desktop, iCloud)
- Doom Emacs Errors After Update or doom sync
- Emacs package-install Fails (Package Not Found or Archive Error)