The 30-Second Fix: Right-Click and Open
Apple's Gatekeeper is paranoid by design. It flags any app downloaded from the internet, even legit ones. The quickest way past it is brute force: right-click (or Control-click) the app in Finder, then select Open from the menu. A dialog will pop up saying the app was downloaded from the internet. Click Open again. That's it. Works 90% of the time on macOS Ventura and later.
Why? Because right-click opening triggers a one-time exception in Gatekeeper. The app's quarantine flag gets removed. If this fails, the app is likely corrupted or the quarantine attribute is stuck.
The Moderate Fix (5 Minutes): Clear the Quarantine Flag
If the right-click trick didn't work, the culprit is almost always the quarantine extended attribute. macOS attaches this invisible tag to any file downloaded via Safari, Chrome, or AirDrop. Gatekeeper reads it and says nope. You can strip it with Terminal.
- Open Terminal (Finder > Applications > Utilities > Terminal).
- Type
xattr -d com.apple.quarantinefollowed by a space. - Drag the blocked app from Finder into the Terminal window. This pastes the full file path.
- Press Enter. You'll see no output if it worked.
xattr -d com.apple.quarantine /path/to/YourApp.appNow try opening the app normally. If it still fails, check if the app actually downloaded fully. A partial download leaves the quarantine flag but the app is incomplete. Re-download it fresh and try again.
Don't bother with Gatekeeper settings in System Preferences for this—disabling it entirely is overkill and leaves your Mac open to real malware. Just remove the flag.
The Advanced Fix (15+ Minutes): Deep Clean and Permissions Reset
You've tried the quick steps. Still blocked? The app might have a deeper issue. Here's the nuclear option.
Step 1: Check App Integrity
A corrupt download is more common than you think. Use Terminal to verify the app's code signature:
codesign -dvvv /path/to/YourApp.appLook for Sealed Resources version 2 and format=app bundle. If you see code object is not signed at all, the app is either a pirate copy or broken. Re-download from the developer's website, not some random mirror.
Step 2: Reset Launch Services Database
macOS caches app permissions. Sometimes that cache gets corrupted. Reset it:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain userThis rebuilds the Launch Services database. You might need to log out and back in for changes to take effect.
Step 3: Disable Gatekeeper Temporarily (Use Sparingly)
If you're certain the app is safe, disable Gatekeeper for testing. Open Terminal:
sudo spctl --master-disableEnter your admin password. Then go to System Settings > Privacy & Security. You'll see a new option: Allow apps from: Anywhere. Select it. Test your app. If it works, re-enable Gatekeeper immediately:
sudo spctl --master-enableThis isn't a permanent fix. It's a diagnostic tool. Running with Gatekeeper off is like leaving your front door unlocked.
Step 4: Check macOS Version Limits
Some older apps simply don't work on newer macOS versions. For example, anything 32-bit won't launch on macOS Catalina or later. Check the app's system requirements. If it's a 32-bit app, you're out of luck—no workaround exists. Your only option is a virtual machine or an old Mac.
When to Give Up and Try an Alternative
If none of these steps work after a fresh download, the app is likely incompatible with your macOS version. Don't waste hours. Find a modern alternative. Apps like AppCleaner can help you completely remove the dead app before moving on.
One last tip: if the error says the app is damaged or corrupted, and you've re-downloaded it twice, the file is probably fine. The issue is macOS's security checks. Run xattr -cr /path/to/YourApp.app (the -r recursively clears attributes). That's the final hail mary.