I just spent way too long on the phone troubleshooting an issue with my father who was unable to unlock his keychain after upgrading to Mavericks and so could not check his e-mail in Apple Mail. He had not setup the iCloud keychain yet. Here’s a completely unedited brain-dump of what I just had him do to fix his problem.

It turns out that the problem was his default keychain was not named “login.” That’s right, it seems like Mavericks Mail.app is looking in login.keychain for your e-mail passwords and not .keychain.

Here’s how to confirm this is your situation:

Keychain Access without login keychain as default

  • Open Keychain Access (Applications > Utilities > Keychain Access.app)
  • Look in the upper-left of the window
  • The bolded keychain is your default keychain. In this case, gfiumara and not “login.”

  • If login is not bolded, select login and look in the list to the right

  • Are there just a handful of items in the list to the right?

  • Select the bolded keychain

  • Are there many more items in this list?

If you answered affirmative above, you’re in the same situation. The Mavericks installer created you a _login.keychain_ and now Mail is looking there for your mail passwords.  Unfortunately, you have no idea what the password for that keychain is.  Let’s just change the name of your default keychain.

  • Quit Keychain Access
  • Open Terminal (Applications > Utilities > Terminal.app)
  • cd ~/Library/Keychains
  • mv login.keychain login_backup.keychain
  • mv gfiumara.keychain login.keychain
  • open -a Keychain\ Access.app
  • This opened Keychain Access again.

  • _login_ and _gfiumara_ in this list (where gfiumara is the name of the bolded keychain in the steps above), now have a square next to them instead of a lock.

  • Select each and press the delete key on your keyboard choosing Delete References and _not_ Delete References and Files

  • Switch back to Terminal

  • open login.keychain
  • This opens Keychain Access again, and you should see login in the Keychains list in the top left

  • Right click login and choose “Make Keychain “login” Default”

  • Restart your Mac

You’ve renamed your default keychain login and backed up the old login keychain to ~/Library/Keychains/login_back.keychain. If you did have passwords in that keychain, you can open that file and add it to Keychain Access again. It will be in the list as “login_back.”