"App is damaged and can't be opened" on Mac
After this, the app opens normally, and you'll know for certain whether the file was ever actually broken.
On this page
"[App] is damaged and can't be opened. You should move it to the Trash" is a different message from the "Apple cannot check it for malicious software" one, and it usually means something different too: a code signature that fails its integrity check, not just a missing notarization ticket. Clear the file's extended attributes first — if that fixes it, it was never actually damaged, just quarantined and mis-signed. If it still fails afterward, the file itself is genuinely broken and needs re-downloading.
Why this happens
According to an Apple DTS engineer's own explanation on the Apple Developer Forums, this specific "damaged" alert generally fires for one of two reasons: the app wasn't notarized correctly, or it was signed incorrectly. That's a meaningfully different trigger than the separate "cannot check it for malicious software" message, which is about a missing notarization ticket on an otherwise validly-signed app — this one is about the code signature itself failing verification, which macOS checks by hashing the app's code and comparing it to what was recorded at signing time. If anything modified the app after it was signed — including some third-party re-packaging or re-signing tools — that hash check fails and you get "damaged," even though nothing is actually corrupted in the everyday sense of the word.
Apple Silicon raises the stakes on this specific failure mode: native arm64 code is required to carry at least a valid ad-hoc signature or the OS refuses to execute it at all — a hard enforcement Intel Macs never had, since x86_64 code could run entirely unsigned under the old rules. A signature that would have merely triggered a Gatekeeper prompt on an Intel Mac can outright block execution on Apple Silicon instead, which is part of why this message shows up more for indie and open-source tools since the platform transition.
Fix it
-
Clear every extended attribute on the app, not just the quarantine flag — a stray attribute on a nested helper tool or resource inside the bundle can trip the same check even after you've cleared the top-level one:
Changes settings
What it does: recursively clears all extended attributes from the app bundle, including quarantine.
After: the app opens normally if this was the actual cause.
sudo xattr -cr "/Applications/Example.app"Revert: re-download the app to restore its original attributes.
-
If that fixes it, you're done — it was a quarantine/signature-check issue, not real corruption. If the same "damaged" message still appears afterward, treat the file as genuinely broken rather than trying more attribute tricks: re-download it from the original source. A partial or interrupted download is a common real cause of actual corruption, distinct from everything above.
-
To see specifically what's wrong with the signature rather than just guessing, inspect it directly:
Reads the system
What it does: verifies the app's code signature in detail, including nested code and resources.
After: nothing changes, this only reads.
codesign -v -vvv --strict --deep "/Applications/Example.app"A message like code has no resources but signature indicates they must be present points to a genuine signing defect in how the app was built or repackaged — worth reporting to the app's developer rather than something you can fix locally.
Still broken?
Verified on
| Chip | macOS | Verified |
|---|---|---|
| M1 (MacBook Air) | 26.6 | 2026-09-08 |
| M2 Pro (Mac mini) | 26.6 | 2026-09-08 |
| M3 (MacBook Pro) | 26.6.2 | 2026-09-08 |
| M4 (MacBook Pro) | 26.6 | 2026-09-08 |