Environment
- macOS: Tahoe 26.4 Beta
- GhostMD version: v0.6.0
- Downloaded from: GitHub Releases
- Install method: Moved .app to /Applications manually
Steps to Reproduce
- Download GhostMD v0.6.0 from GitHub Releases
- Move GhostMD.app to /Applications
- Double-click to launch
Expected Behavior
GhostMD opens normally.
Actual Behavior
macOS displays the following dialog and blocks the app entirely:
"GhostMD" is damaged and can't be opened. You should move it to the Bin.
The "Open Anyway" option in System Settings > Privacy & Security does not
appear, leaving no visible path to proceed.
Root Cause
The error is misleading — the binary is not corrupt. macOS applies a
com.apple.quarantine extended attribute to all files downloaded from the
internet. When an app lacks a valid Apple Developer signature + notarization
ticket, Gatekeeper on macOS 26 (Tahoe) escalates the block to the "damaged"
dialog with no GUI override available.
Confirmed Working Workaround
Run this in Terminal after moving the app to /Applications:
xattr -cr /Applications/GhostMD.app
Strips the quarantine attribute. App launches normally after.
Verified on macOS Tahoe 26.4 Beta.
Suggested Fix
Sign and notarize the macOS build in the GitHub Actions release workflow:
- Apple Developer Program membership (~$99/yr)
- Code signing via
codesign
- Notarization via
xcrun notarytool
- Staple the ticket:
xcrun stapler staple
At minimum, please document the xattr -cr workaround prominently in the
README and release notes — without it, most users will discard a working build.
References
Environment
Steps to Reproduce
Expected Behavior
GhostMD opens normally.
Actual Behavior
macOS displays the following dialog and blocks the app entirely:
The "Open Anyway" option in System Settings > Privacy & Security does not
appear, leaving no visible path to proceed.
Root Cause
The error is misleading — the binary is not corrupt. macOS applies a
com.apple.quarantineextended attribute to all files downloaded from theinternet. When an app lacks a valid Apple Developer signature + notarization
ticket, Gatekeeper on macOS 26 (Tahoe) escalates the block to the "damaged"
dialog with no GUI override available.
Confirmed Working Workaround
Run this in Terminal after moving the app to /Applications:
Strips the quarantine attribute. App launches normally after.
Verified on macOS Tahoe 26.4 Beta.
Suggested Fix
Sign and notarize the macOS build in the GitHub Actions release workflow:
codesignxcrun notarytoolxcrun stapler stapleAt minimum, please document the
xattr -crworkaround prominently in theREADME and release notes — without it, most users will discard a working build.
References