Fix: League of Legends Can't Open on Mac After Update
Getting 'The application League of Legends can't be opened' on Mac? This is a recurring issue caused by Riot's patcher breaking the app's code signature. Here's the one-command fix.
If you’ve ever updated League of Legends on Mac and been greeted with “The application League of Legends can’t be opened”, you’re not alone. This is a recurring issue that hits after patches, and it has nothing to do with your Mac or your installation being corrupted.
What’s Actually Happening
When Riot’s patcher updates League of Legends, it modifies files inside the app bundle — but it doesn’t re-sign the outer wrapper app afterward. macOS uses Gatekeeper to verify that apps haven’t been tampered with by checking their code signature. When the signature doesn’t match, macOS refuses to launch the app entirely.
You can confirm this is your issue by running:
spctl --assess --type execute "/Applications/League of Legends.app"
If you see something like:
/Applications/League of Legends.app: invalid resource directory
(directory or signature have been modified)
Then Gatekeeper is blocking your app.
The Fix
One command in Terminal:
codesign --force --deep --sign - "/Applications/League of Legends.app"
This ad-hoc re-signs the outer app bundle so macOS accepts it again. The inner LeagueClient.app (the actual game client) still has Riot’s valid signature — this only fixes the broken wrapper.
That’s it. Open League again and it should launch normally.
Why This Keeps Happening
The League of Legends.app you see in your Applications folder is actually just a thin wrapper. The real executable lives at:
League of Legends.app/Contents/LoL/LeagueClient.app
When you launch the app, it starts LeagueClient, which hands off to Riot Client, which manages the actual game. Riot signs the inner LeagueClient.app properly after every update, but the outer wrapper’s signature gets invalidated because its contents changed. macOS sees the mismatch and blocks the launch before anything can even start.
Quick Reference
If this happens again after a future patch, just run:
codesign --force --deep --sign - "/Applications/League of Legends.app"
No reinstall needed. No restart needed. Takes about two seconds.