Figment.so
Mac hostingWebsite hostingGuidesHow to usePricing

Fix Missing iMessage History on a Connected Mac

iMessage history appears incomplete or absent on a Mac for several distinct reasons that call for different fixes. This guide walks you through each one and helps you rule out the right culprit first — starting with the Messages app itself, since Figment's Mac worker reads from whatever Messages has already synced locally.

Get Messages.app syncing before checking a connector

Mac-local message data is the outer boundary of what the API can return; API grant scope and pagination are separate constraints. Three things must be in place before Messages in iCloud works reliably on a Mac.

Two-factor authentication. Messages in iCloud requires 2FA on the Apple Account. Confirm it at appleid.apple.com under Sign-In and Security → Two-Factor Authentication.

iCloud Keychain. iCloud Keychain is required for Messages in iCloud (see Apple's setup guide). On macOS Ventura or later, find the Keychain option under System Settings → [your name] → iCloud (the exact label varies by OS release). On earlier macOS: System Preferences → Apple ID → iCloud → Keychain.

Messages in iCloud toggle. Each device has its own switch. On the Mac, open Messages → Settings → iMessage and check Enable Messages in iCloud, then click Sync Now. Initial sync can take time depending on message volume; you can send and receive while it runs.

Enable the same toggle on iPhone:

  • iOS 17.2 or later: Settings → [your name] → iCloud → See All → Messages in iCloud → Use on this iPhone
  • iOS 16–17.1: Settings → [your name] → iCloud → Show All → Messages → Sync this iPhone

The Apple Account shown in Messages → Settings → iMessage on the Mac must match the one in Settings on the iPhone. A mismatch can cause the Mac to show only messages that arrived after the most recent sign-in.

SMS, MMS, and RCS messages

When Messages in iCloud is enabled, it includes iMessage, SMS, MMS, and RCS — a separate Text Message Forwarding switch is not always required. New SMS, MMS, and RCS traffic requires an iPhone that is on, connected, and able to send and receive. Already-synced carrier messages remain accessible on the Mac even if the iPhone is temporarily offline. (Apple Support HT102545)

If you do enable Text Message Forwarding separately, go to Settings → Apps → Messages → Text Message Forwarding on the iPhone and toggle on each target device. A verification code appears on the target device only if that device does not use two-factor authentication; enter it if prompted.

Sync diagnostic tree

Walk from top to bottom. Resolve the first "No" before continuing — each step depends on the ones above it. No step in this tree deletes messages.

Is Messages signed into your Apple Account on this Mac?
└─ No  → Messages > Settings > iMessage, sign in
└─ Yes ↓

Is two-factor authentication active on this account?
└─ No  → Enable at appleid.apple.com > Sign-In and Security
└─ Yes ↓

Is iCloud Keychain turned on?
└─ No  → System Settings > [your name] > iCloud (find Keychain; label varies by OS)
└─ Yes ↓

Is "Enable Messages in iCloud" checked on this Mac?
└─ No  → Messages > Settings > iMessage > check it, then Sync Now
└─ Yes ↓

Is Messages in iCloud also enabled on iPhone with the same Apple Account?
└─ No  → Follow the iPhone steps above for your iOS version
└─ Yes ↓

Is iCloud storage full?
└─ Yes → Free space or upgrade at icloud.com/settings; sync stalls when full
└─ No  ↓

Is history appearing in Messages now?
└─ Yes → Done. Using a Figment connection? Check connector status below.
└─ No  → See "Gaps that settings may not reach" below.

Figment connector status

With Messages in iCloud configured, verify that the Figment connector is also ready before treating an empty API result as a confirmed absence. Connection and service status are visible at /apple-connect/account. You can also query the connection directly:

GET https://figment.so/api/apple-connect/v1/connections/con_...
Authorization: Bearer ACCESS_TOKEN

A successful response has the shape {connection:{id,mode,services,...}}. Each service is an object; check connection.services.messages.state. The endpoint may return a non-2xx response for a revoked or non-ready connection rather than a state object — treat any non-2xx as a prompt to check the account page.

A ready state means the connector is active, not that all available iCloud history has arrived on this Mac. The messages:read scope covers both history and search; search scans locally available history, so messages that never reached this Mac are outside its reach. When reading history or searching, check both hasMore and historyComplete before drawing conclusions about coverage.

If "mode":"sandbox" appears in the response, the data is synthetic and cannot reflect real missing history — a live connection is required for real reads.

Gaps that settings may not reach

Full iCloud storage. When the account is at capacity, incoming messages stop syncing. Free up space at icloud.com/settings, then click Sync Now in Messages.

Recently deleted messages. Deletions sync across all enrolled devices. If a message was deleted recently, check View → Recently Deleted in the Mac Messages app — items there are recoverable for up to 30 days; Apple states that deleted messages are permanently removed from iCloud after 40 days. (Apple Support)

Gaps from interrupted sync. If Messages in iCloud was off or storage was full for a period, some messages from that window may not be in iCloud. Re-enabling sync and clicking Sync Now is the first step; messages still present on a connected device may sync back. For gaps that persist after all settings are confirmed, the originating device is the most direct place to look.


The developer plan is $29/month per active live connection; sandbox is free and access starts after setup. Connect Apple Account to get started.


Subscribe for Figma design and website publishing guides.


Figment.so

Contact

Twitter

Website pricing

Compute index

About

Privacy

Terms