Skip to content

Binary Won't Run on macOS

  • After downloading and attempting to run canopy, macOS shows a dialog: "canopy" cannot be opened because it is from an unidentified developer.
  • Running ./canopy or canopy in the terminal returns: canopy: killed or zsh: killed: canopy
  • 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.

Canopy binaries are not notarized with Apple (as of v1.3.0). The binary must be manually cleared of the quarantine flag.


Section titled “Method 1: Remove the quarantine attribute (recommended)”

After downloading canopy to your local machine:

Terminal window
xattr -d com.apple.quarantine /path/to/canopy

For example, if you downloaded to /usr/local/bin:

Terminal window
xattr -d com.apple.quarantine /usr/local/bin/canopy

Or if still in your Downloads folder:

Terminal window
xattr -d com.apple.quarantine ~/Downloads/canopy
chmod +x ~/Downloads/canopy
sudo mv ~/Downloads/canopy /usr/local/bin/canopy

Verify the attribute is gone:

Terminal window
xattr /usr/local/bin/canopy

No output means no extended attributes remain. The binary will now run.

  1. Attempt to run canopy once — the blocking dialog appears.
  2. Open System Settings > Privacy & Security.
  3. Scroll down to the Security section.
  4. Find the message about canopy being blocked and click “Allow Anyway”.
  5. Run canopy again — a second dialog appears asking you to confirm. Click “Open”.

This method only needs to be done once. The override persists.

  1. In Finder, right-click the downloaded canopy binary.
  2. Hold the Option key and click “Open”.
  3. In the dialog that appears, click “Open”.

This approves the binary for future runs without needing to go through System Settings.


After removing the quarantine attribute:

Terminal window
canopy --version

Expected output:

canopy 1.3.0

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-aarch64 binary.
  • Check if your organization uses an MDM policy that blocks unsigned binaries beyond what standard Gatekeeper does.

For the architecture check:

Terminal window
uname -m
# arm64 = Apple Silicon → use forge-macos-aarch64

Note: The macOS Intel build (forge-macos-x86_64) was discontinued in v1.4.3 and is no longer shipped. macOS Intel machines are not supported from v1.4.3 onward.

Contact support at [email protected] if the binary still does not run after trying the correct architecture and removing the quarantine attribute.