Photos were not syncing from my Mac to my other devices. On my Mac, the number of photos it was aware of (displayed at the bottom of the main screen) was different from the number of photos displayed in Photos on my iPhone. Both said “Last synced X minutes ago”, where X was some small number, so it seemed like it wasn’t even aware that the two were out of sync! Bizarrely, new photos from my iPhone would still show up on my Mac.

A few things I tried didn’t work: I waited a few days for this to resolve itself and tried checking/unchecking “iCloud Photos” in the “iCloud” section of Settings in Photos on my Mac.

Finally I read about the Photos Repair tool:

To get to the Photos Repair Library tool on your Mac, follow these steps:

  • If Photos is open, close the app. Then, while you click to open Photos, hold down the Command and Option keys at the same time.
  • In the window that opens, click Repair to start the repair process. You might be asked to enter your user account password.

This fixed it, but it’s pretty lame that I had to do this. It doesn’t inspire much confidence to learn that Apple’s synchronization system can be unaware that it is out of sync.

UPDATE: I’m not sure if it’s related, but today I started running out of space on my computer. I narrowed it down to ~/Library/Caches/CloudKit/

$ sudo du -h /System/Volumes/Data | grep "G\t"
# 309G	/System/Volumes/Data/Users/jyc/Library/Caches/CloudKit/
# 309G	/System/Volumes/Data/Users/jyc/Library/Caches/CloudKit/
# 309G	/System/Volumes/Data/Users/jyc/Library/Caches/CloudKit/
# 309G	/System/Volumes/Data/Users/jyc/Library/Caches/CloudKit/
# 310G	/System/Volumes/Data/Users/jyc/Library/Caches/CloudKit
# 336G	/System/Volumes/Data/Users/jyc/Library/Caches

It’s seems like this shouldn’t be related to Photos because “Optimize Mac Storage” is set in Photos’ iCloud setings: And looking at the contents of that folder, the files appear to be a mix of random data from iCloud: ZIP files, HTML files, and some images, but no images from my Photos Library. Strange.