1. Reset Permissions on the App or File (Most Common Cause)
Error -600 shows up most often when macOS can't read the file or app because the permissions are wrong. This happens after you move an app from another Mac, download something from the internet, or copy files from a backup. The system literally can't open the file because the read/write flags are set incorrectly.
Here's how to check and fix it. We'll use the Terminal for precision—Finder hides these details.
- Open Terminal (Finder > Applications > Utilities > Terminal).
- Drag the problem app (or file) from Finder into the Terminal window. This fills in the full path automatically. Hit Enter. You'll see something like
ls -l /Applications/SomeApp.app - Look at the first column of the output. You want to see
drwxr-xr-xor-rwxr-xr-x. If you see-rw-------ordrwx------, that's the problem—only one user has access. - Now, reset the permissions. Run this command with the full path to your app:
sudo chmod -R 755 /Applications/YourApp.app
Type your password when prompted. You won't see characters as you type—that's normal.
After running it, you should be able to open the app normally. Try it now. If you still get -600, move to the next step.
2. Re-Sign the App (For Developers and Downloaded Apps)
When an app's code signature gets broken—maybe from copying it, editing it, or using a beta version—macOS throws error -600. This is especially common with apps downloaded from outside the Mac App Store. The fix is to re-sign the app with Apple's codesign tool.
This works for any app, not just developer ones. Here's what to do:
- Open Terminal again.
- Run this command, replacing the path with your app's actual location:
codesign --force --deep --sign - /Applications/SomeApp.app
The --force flag overrides any existing signature. --deep tells it to sign all embedded code, like frameworks and helper tools. The - means "ad-hoc sign"—that's fine for most cases.
You'll see no output if it succeeds. That's good. Then try launching the app. If you get a message about the app being damaged or can't be opened, you might need to remove the quarantine attribute that downloaded files get:
sudo xattr -dr com.apple.quarantine /Applications/SomeApp.app
This clears the "downloaded from internet" flag, which sometimes interferes with signature verification. After that, restart the app.
One thing to note: re-signing an app with an ad-hoc signature won't let you run apps that require a proper Developer ID. If the app checks for a valid signature from Apple, this fix won't help. You'll need to get the app from the developer again or use the App Store version.
3. Adjust Gatekeeper Settings (When Nothing Else Works)
If you've fixed permissions and re-signed but still see error -600, Gatekeeper might be blocking the app because it's from an unidentified developer. This is the last line of defense macOS uses to protect you.
Here's the quick way to allow a single app through:
- Right-click (Ctrl-click) the app in Finder.
- Select Open from the context menu.
- In the dialog that appears, click Open again.
That should bypass Gatekeeper for that app. If you still see the error, you can temporarily disable Gatekeeper entirely (I don't recommend leaving it off, but for testing it's fine):
sudo spctl --master-disable
Then try the app. If it works, you've got a Gatekeeper issue. Re-enable it with:
sudo spctl --master-enable
After re-enabling, you can go to System Settings > Privacy & Security and manually allow the app under the "Security" section—look for a message about the blocked app and click "Allow Anyway."
This only applies to Intel Macs and older versions of macOS. On Apple Silicon (M1/M2/M3), you also need to consider the app's architecture. A 32-bit app won't run at all on Catalina or later, and that can produce error -600. Check if the app is 32-bit by running file /Applications/SomeApp.app/Contents/MacOS/<binary> in Terminal. If it says "i386" or "x86_64" but not "arm64", it may not work on your Mac anyway.
Quick Reference Summary
| Cause | Fix | Command/Tool |
|---|---|---|
| Wrong permissions | Reset read/write flags | sudo chmod -R 755 /path/to/app |
| Corrupted code signature | Re-sign the app | codesign --force --deep --sign - /path/to/app |
| Gatekeeper block | Right-click Open, or temporarily disable Gatekeeper | Finder > Ctrl-Click > Open, or sudo spctl --master-disable |
Start with permissions, then move to code signing, and only mess with Gatekeeper if the other two don't work. That order fixes 90% of error -600 cases I've seen in my years doing Mac support.