Binary Won't Run on macOS
Symptoms
Section titled “Symptoms”- After downloading and attempting to run
forge, macOS shows a dialog:"forge" cannot be opened because it is from an unidentified developer. - Running
./forgeorforgein the terminal returns:forge: killedorzsh: killed: forge - Right-clicking the binary and choosing “Open” shows an option to open anyway, but running from the terminal still fails.
macOS Gatekeeper quarantines files downloaded from the internet by setting a com.apple.quarantine extended attribute. Binaries without an Apple-recognized code signature cannot run until the quarantine attribute is removed.
Forge binaries are not notarized with Apple (as of v1.3.0). The binary must be manually cleared of the quarantine flag.
Step-by-Step Fix
Section titled “Step-by-Step Fix”Method 1: Remove the quarantine attribute (recommended)
Section titled “Method 1: Remove the quarantine attribute (recommended)”After downloading forge to your local machine:
xattr -d com.apple.quarantine /path/to/forgeFor example, if you downloaded to /usr/local/bin:
xattr -d com.apple.quarantine /usr/local/bin/forgeOr if still in your Downloads folder:
xattr -d com.apple.quarantine ~/Downloads/forgechmod +x ~/Downloads/forgesudo mv ~/Downloads/forge /usr/local/bin/forgeVerify the attribute is gone:
xattr /usr/local/bin/forgeNo output means no extended attributes remain. The binary will now run.
Method 2: System Settings (GUI)
Section titled “Method 2: System Settings (GUI)”- Attempt to run
forgeonce — the blocking dialog appears. - Open System Settings > Privacy & Security.
- Scroll down to the Security section.
- Find the message about
forgebeing blocked and click “Allow Anyway”. - Run
forgeagain — a second dialog appears asking you to confirm. Click “Open”.
This method only needs to be done once. The override persists.
Method 3: Open dialog at download time
Section titled “Method 3: Open dialog at download time”- In Finder, right-click the downloaded
forgebinary. - Hold the Option key and click “Open”.
- In the dialog that appears, click “Open”.
This approves the binary for future runs without needing to go through System Settings.
Verify the Fix
Section titled “Verify the Fix”After removing the quarantine attribute:
forge --versionExpected output:
forge 1.3.0When to Escalate
Section titled “When to Escalate”If the binary still fails to run after removing the quarantine attribute:
- Check if you are running on Apple Silicon (M1/M2/M3): ensure you downloaded the
macos-aarch64binary, notmacos-x86_64. - Check if your organization uses an MDM policy that blocks unsigned binaries beyond what standard Gatekeeper does.
For the Apple Silicon vs Intel check:
uname -m# arm64 = Apple Silicon → use forge-macos-aarch64# x86_64 = Intel → use forge-macos-x86_64Contact support at support@forge.ironpinelabs.com if the binary still does not run after trying the correct architecture and removing the quarantine attribute.