Featured image

Fixing Apple Mail When It’s Stuck on “Downloading Messages” Link to heading

I ran into one of those bugs that slowly drives you insane.

I had just formatted my Mac. Fresh install, clean setup, everything working great. I added my accounts to Mail.app, opened it, and it looked… perfect.

Folders were there. Inbox counts looked correct. It even said:

“Downloading messages… 5,379 new messages”

Nice.

Except… nothing showed up.

No emails. No progress. Just a spinner pretending to work.


🤨 Something Felt Off Link to heading

At first, I didn’t question it.

  • Maybe Gmail is slow
  • Maybe Apple servers are lagging
  • Maybe it just needs time

So I waited.

Nothing.

Then I checked disk usage:

du -sh ~/Library/Mail

Output:

4.4M    ~/Library/Mail

That’s basically empty.

For thousands of emails, that folder should be huge.

That’s when it clicked:

Mail wasn’t downloading anything. It just thought it was.


🧠 First Suspect: Permissions (TCC Rabbit Hole) Link to heading

Since this was a fresh macOS install, I suspected permissions.

I tried listing the Mail directory:

ls ~/Library/Mail

Got:

Operation not permitted

That usually means macOS privacy (TCC) is blocking access.

So I:

  • Gave my terminal Full Disk Access
  • Retried → it worked

Then I thought:

Maybe Mail itself is stuck in a weird permission state?

So I reset its permissions:

tccutil reset All com.apple.mail

Restarted Mail…

Still stuck.


💡 Important realization Link to heading

This was a false lead.

  • Terminal being blocked is normal without Full Disk Access
  • Mail.app already has the permissions it needs

👉 So this didn’t explain the issue — it just helped rule things out


🔍 The Turning Point: Logs Link to heading

At this point, I stopped guessing and looked at logs:

log stream --style syslog \
--predicate '(process == "Mail") || (process == "accountsd") || (process == "cloudd")'

Triggered a sync and watched.


What I expected Link to heading

FETCH ...
BODY[]

That’s Mail actually downloading messages.


What I actually saw Link to heading

STATUS Inbox
STATUS Archive
Background fetch completed

No FETCH. No downloads.


🧠 What That Means Link to heading

Apple Mail works in phases:

  1. Connect to server
  2. Fetch mailbox metadata (STATUS)
  3. Download messages (FETCH)

In my case:

  • Connection: ✅
  • Metadata (folders, counts): ✅
  • Message download: ❌

🔑 Key insight Link to heading

You’ll often see:

  • STATUS → mailbox counts
  • IDLE → waiting for updates
  • no FETCH

That means:

Mail knows messages exist, but never tries to download them


💥 The Real Problem Link to heading

At this point I ruled out:

  • ❌ Network
  • ❌ Authentication
  • ❌ Permissions

Which leaves:

Broken IMAP sync state

More specifically:

  • UID tracking got out of sync
  • Mail believed everything was already downloaded
  • Server disagreed
  • Mail never issued FETCH requests

🛠️ Things I Tried (Didn’t Work) Link to heading

Before fixing it, I went through:

  • Restarting Mail
  • Restarting macOS
  • Rebuilding mailboxes
  • Resetting TCC permissions

None of these helped.

Because the problem wasn’t surface-level — it was internal sync state.


💣 The Fix That Actually Worked Link to heading

At this point I stopped trying to patch it and just reset Mail completely.


1. Quit Mail Link to heading

killall Mail

2. Backup & remove Mail state Link to heading

(Safer than deleting outright)

mv ~/Library/Mail ~/Desktop/Mail_backup
mv ~/Library/Containers/com.apple.mail ~/Desktop/com.apple.mail.backup
mv ~/Library/Group\ Containers/group.com.apple.mail ~/Desktop/group.com.apple.mail.backup

3. Restart background services Link to heading

killall accountsd
killall cloudd
killall bird

4. Re-add accounts Link to heading

Go to:

System Settings → Internet Accounts

  • Remove your accounts
  • Add them again

👉 This step is important — it resets sync + auth state


✅ What “Fixed” Looks Like Link to heading

Opened Mail again.

This time:

  • Disk usage started increasing
  • Emails actually appeared
  • Logs showed:
FETCH
BODY[]

That’s the signal everything is finally working.


⚠️ Small Warning Link to heading

If you have:

  • local-only mailboxes
  • unsynced drafts

Back them up before resetting.

This process wipes Mail’s local state.


🚫 What This Is Not Link to heading

This bug is misleading.

It looks like:

  • permissions
  • network
  • Gmail issue

But it’s none of those.


🧾 TL;DR Link to heading

If Mail says it’s downloading but nothing shows up:

  • Check disk usage (~/Library/Mail)
  • Check logs for missing FETCH
  • Don’t get stuck on permissions
  • Reset Mail state + re-add accounts

💭 Final Thought Link to heading

This is one of those bugs where everything looks fine:

  • No errors
  • No warnings
  • No crashes

But one critical thing is missing.

In my case, it was a single word in the logs:

FETCH

And once you notice that, everything else makes sense.


Happy debugging 👨‍💻