Skip to content
Thoughtful, detailed coverage of everything Apple for 34 years
and the TidBITS Content Network for Apple professionals
7 comments

How to Recover from Contacts Freezing when Printing Lists in Sonoma

Many people don’t realize that Apple’s Contacts app on the Mac can print, but it’s not terrible at making mailing labels, envelopes, and lists. Unfortunately, Apple hasn’t paid much attention to Contacts in years, and the result is a particularly egregious printing-related freeze in macOS 14 Sonoma’s version of Contacts. (And yes, the bug still exists in macOS 14.2.) Thanks to John Hepburn for bringing this to my attention on TidBITS Talk.

You can reproduce the freeze by selecting one or more contacts that have a decent amount of information associated with them, choosing File > Print, choosing Lists from the Styles pop-up menu, and waiting briefly—you don’t even need to click Print. Unless your Mac is different from mine, you’ll quickly see the dreaded spinning pizza of death cursor, and your only escape is to click and hold the Contacts icon in the Dock and choose Force Quit. The problem does not rear its ugly head if you attempt to print mailing labels or envelopes.

Contacts Print dialog

I strongly suspect the bug lives in the code that draws the preview on the left side of the Print dialog. If you select only a single contact whose information does not include the selected attributes that can be printed in a list, Contacts won’t freeze, and you can even print the list. Of course, printing a list of a single contact is pointless, and selecting multiple contacts, even those that wouldn’t trigger the bug on their own, does cause the freeze.

Contacts Lists attributes

A more problematic situation arises if Lists somehow becomes selected such that the Print dialog would open with it showing in the Styles pop-up menu. When that’s the case, merely choosing File > Print will result in the spinning pizza of death, preventing you from printing at all.

Although I’ve found no way around the bug—I have reported it to Apple, for whatever that’s worth—there is a way to recover from being prevented from opening the Print dialog.

Kudos to Jeff Fischer on TidBITS Talk for pointing toward the solution: editing ~/Library/Preferences/com.apple.AddressBook.plist to change the ABSelectedPrintStyle value (in the <integer>#</integer> line underneath) to 0 (Mailing Labels) or 1 (Envelopes). Because .plist files can be cached in memory, the best way to accomplish this is by copying and pasting this defaults write command into Terminal, giving Terminal permission to access Contacts when prompted:

defaults write com.apple.AddressBook ABSelectedPrintStyle 0

Personally, I prefer to work with contacts in Cardhop from Flexibits, which can print contact lists in Sonoma. Printing isn’t one of Cardhop’s marquee features, but all you have to do is open Cardhop’s menu, select the desired contacts (easiest after displaying its sidebar of groups), and press Command-P to print the same mailing labels, envelopes, and lists.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For over 33 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

This site is protected by reCAPTCHA. The Google Privacy Policy and Terms of Service apply.

Comments About How to Recover from Contacts Freezing when Printing Lists in Sonoma

Notable Replies

  1. I wouldn’t recommend that method – it may work, but it may not and can lead to frustration and confusion when it doesn’t. As with many low-level issues, Howard Oakley has a fantastic write-up of the situation. The summary is that from MacOS 10.9 onwards, the system caches preference values in memory, and there is no guarantee the file you change will be re-read. It may also be overwritten with the cached values from memory.

    So the only way to edit preference values and be sure they will stick is using the system APIs. The defaults command listed in your article achieves this. But for a more approachable way to edit preference values and ensure they are properly synced with the cache, I highly recommend Thomas Tempelmann’s free Prefs Editor app (also mentioned in Howard’s article).
    opened-finder

  2. Thanks for the reminder! I’ll de-emphasize this approach in the article. I did test it extensively while writing, and it never had any issues, but defaults write seems easier anyway.

  3. I agree. To be quite honest, I simply forgot about the defaults write approach. Plists are easy to modify in Xcode, which is what I used to test the approach I suggested.

  4. Contacts will print the list if you set it as “Labels”. It looks just the same as far as I can tell from the preview at the side of the print dialog.
    Pity this article came out the week after I did all the Christmas cards! I set it up for next year, entering all the names and addresses in my Christmas Card book into Contacts and then tried a test print as ‘Labels’ but on plain paper. There were some oddities, like cut-off postal codes and the line for country (lots go abroad) wasn’t shown. So I downloaded Cardhop and got it installed with some difficulty (two hours before the verification e-mail came). Not pleased with the amount of nagging it does to get me to subscribe, but it does print all addresses perfectly, even the longer ones are shrunk to fit. So I ordered some Avery Standard 5260 labels and the next day I printed off all the labels for next Christmas!

  5. I just us MSWord with Labels format

    Don O’Shea

  6. Another reason to hold off upgrading to mac 14 Sonoma.

  7. This bug is now fixed in macOS 14.3.

Join the discussion in the TidBITS Discourse forum

Participants

Avatar for ace Avatar for m.hedley Avatar for jzw Avatar for doshea Avatar for fischej Avatar for drmoss_ca