The safest way to move a Mac app is not to drag its icon to the new Mac and hunt for missing files afterward. I start with Migration Assistant, then verify each app’s documents, local data, accounts, and licence.

Migration Assistant handles more than the app bundle. Apple says it can transfer apps, user accounts, documents, files, privacy and security settings, and system and network settings. It can transfer directly from the old Mac or from a Time Machine backup.

Back up the old Mac before starting, and do not erase it until the new copy has been checked.

Prepare the old and new Macs

I do this before opening Migration Assistant:

  1. Install available macOS updates on both Macs.
  2. Update important apps, unless the developer requires a particular version for migration.
  3. Finish app imports, database repairs, and sync activity.
  4. Use the app’s export or backup command when it has one.
  5. Run a Time Machine backup and wait for it to complete.
  6. Record where irreplaceable documents are stored and whether they are local, in iCloud, or in another service.
  7. Keep licence keys, purchase records, and vendor sign-in details available without placing passwords in an unencrypted note.

For a manual inventory, I check where the app stores its data and settings. I use the separate backup and restore checklist before changing any app-managed files.

Use Migration Assistant for the main transfer

On a current version of macOS:

  1. Open System Settings → General → Transfer or Reset.
  2. Click Open Migration Assistant.
  3. On the new Mac, choose to transfer from a Mac, Time Machine backup, or startup disk.
  4. Follow the matching instructions on the old Mac or connect the backup.
  5. Select the user account and the applications, files, and settings that need to move.
  6. Let the transfer finish and read the migration summary for anything that could not be transferred.

Apple’s Transfer your information to Mac from another computer or device guide lists the current choices and preparation steps.

Apple also warns that incompatible apps, or apps with newer versions already installed, may not transfer or may not be usable. I treat Migration Assistant as the broad transfer, not proof that every app is ready.

Reinstall apps from the right source when needed

If an app did not transfer or does not open, I download a compatible version from the Mac App Store, the developer, or the service where I originally obtained it.

The App Store and direct-download editions of an app can use different bundle identifiers, containers, licences, or features. Even when their names and icons match, I do not copy one edition’s container over the other unless the developer documents that migration.

Mac App Store apps use App Sandbox. Direct-download apps may be sandboxed or may use traditional locations such as ~/Library/Application Support and ~/Library/Preferences. Related extensions can also store shared data in ~/Library/Group Containers.

Let cloud data and local data finish separately

After signing in to the same Apple Account, I check System Settings → my name → iCloud. Apple says apps enabled there can store and sync their information through iCloud.

I give the app time to finish downloading or indexing before deciding that data is missing. iCloud Drive may keep an item in iCloud without a full local download when Optimize Mac Storage is enabled. Finder’s Download Now command downloads a selected cloud-only item.

App-specific accounts need the same care. A database may sync from the vendor after sign-in, while plug-ins, local presets, downloads, or unsynced records still need the old Mac or backup.

I do not mix a manual restore into an active sync until the app developer’s instructions explain which copy wins. A stale local database can overwrite newer cloud data, or the service can replace the local restore.

Check passwords and licences

Apple says Setup Assistant transfers keychains automatically during migration. Local Items and iCloud Keychain passwords are not files to copy manually; they become available on the new Mac by signing in to the same Apple Account and enabling Passwords and Keychain sync.

Apple documents the distinction in Copy keychains to another Mac.

An app licence is a separate question. Migration Assistant does not promise that every vendor activation, Mac App Store receipt, subscription session, or machine-bound licence will remain valid. I open the app’s purchase or licence documentation and sign in, restore purchases, deactivate the old Mac, or activate the new one as required.

I never copy authentication tokens or random Keychain databases into an app container to avoid signing in.

Use a manual restore only for a known gap

If Migration Assistant and the app’s own sync or import leave known data behind, I restore that specific data from the backup.

I make a backup of the new Mac’s current app data first, quit the app and its helpers, and restore only known app-owned folders to their documented locations. I do not replace the whole ~/Library, another app’s group container, or every file containing the developer’s name.

On macOS 15 and later, app data and group containers can have additional System Integrity Protection. A permission prompt or an app that rejects a copied container can be expected protection, not evidence that repeatedly changing ownership or permissions is safe.

If the old and new app versions use different database formats or sandbox entitlements, I stop and use the developer’s supported import or migration path.

Verify the transfer before erasing the old Mac

I open every app that holds data I cannot recreate and check:

  • old and recent documents or records
  • attachments, media, and linked folders
  • search, tags, templates, presets, and plug-ins
  • preferences that change storage locations or exports
  • cloud and app-account sync status
  • passwords, certificates, and connected services
  • licence, subscription, and purchase status

I also restart the new Mac and open the important apps again. That catches helpers, mounted folders, permissions, and credentials that worked only during the first session.

Once the new Mac has passed those checks, I run its own full backup. I keep the old Mac or its independent backup until I have used the migrated apps long enough to know that no local-only history or attachment is missing.