Field Report / Troubleshooting Log — Firefox ESR on macOS
Context / Goal
I was setting up a stable, boring-by-design browsing environment for a couple of internal tools tied to NimbusApps. Nothing fancy. The requirement was simple: predictable updates, no UI churn, extensions behaving the same way every week. That’s why I went with Firefox ESR (app) on macOS instead of the regular release.
Install, launch, done. Or so I thought.
What broke
On macOS Sonoma 14.3, Intel Mac mini, the app installed cleanly and launched once. On the second launch it bounced in the Dock, showed the menu bar for half a second, then disappeared. No crash dialog. No report. Activity Monitor showed it starting and exiting immediately.
That kind of behavior usually means one of two things on modern macOS: Gatekeeper interference or a permissions dead-end. Sometimes both.
Attempt #1: Reinstall and hope
First move was the laziest one. Deleted the app, re-downloaded it, dragged it into Applications again. Same result. One clean launch, then silence.
I also tried starting it from Terminal just to see if anything obvious popped up. It didn’t. The process exited without throwing anything useful. At this point I was confident the binary itself wasn’t corrupt.
Attempt #2: Gatekeeper, but sneaky
Firefox ESR is signed and notarized, so I didn’t expect Gatekeeper to be the issue. Still, I checked System Settings → Privacy & Security. Nothing obvious at first glance.
Scrolling further down revealed the real clue: macOS had blocked the app after its first run because a component tried to access a protected location before permissions were fully established. No dialog. No warning. Just a quiet block.
Apple documents this behavior, but it’s scattered across their docs. The general Gatekeeper flow is explained on support.apple.com, while the notarization and execution model is better covered on developer.apple.com. Together, they explain why an app can launch once and then get silently blocked on subsequent runs.
I clicked Open Anyway, relaunched, and… partial success. The browser window appeared, but profiles failed to load.
Attempt #3: Profile and file access issues
The next problem was subtler. The UI opened, but settings wouldn’t stick, and extensions refused to install. That pointed straight at file system permissions.
For some reason, the tool never triggered the standard “allow access” prompt. macOS assumed the answer was no and moved on. I had to manually add it under Privacy & Security → Files and Folders and allow access to Documents and Application Support.
After quitting and reopening, profiles finally loaded correctly.
While double-checking I wasn’t missing an ESR-specific quirk, I saved this page because it lined up with the exact macOS behavior I was seeing around blocked launches and trust state handling: https://treadmillreviews.online/internet/23311-firefox-esr.html. Not a fix by itself, but useful context when the system refuses to explain itself.
What actually worked
Not the reinstall. Not Terminal. Not clearing random caches.
What worked was treating this like a macOS trust-state problem instead of a browser bug:
- Manually approving the blocked app in Privacy & Security
- Explicitly granting file access instead of waiting for a prompt
- Fully quitting between each change (macOS doesn’t re-evaluate permissions on the fly)
Mozilla’s own documentation confirms ESR behaves like the standard release in this area, which you can verify via their official site (mozilla.org) or by checking the listing on the Mac App Store (apps.apple.com) for how permissions are expected to work on macOS.
Final result
Once those two hurdles were cleared, the browser became exactly what I wanted: boring, stable, and predictable. Profiles persisted. Extensions installed. No more disappearing act.
Performance-wise, it was fine. Memory usage stayed flat, CPU spikes were gone, and it behaved consistently across restarts. In other words, once macOS stopped side-eyeing it, the tool did its job.
If I were doing this again
I wouldn’t waste time reinstalling. I’d do this instead:
- Install once, then immediately check Privacy & Security
- Approve the app manually if macOS blocked it
- Grant file access before setting up profiles
- Relaunch cleanly
This wasn’t a Firefox ESR problem. It was a macOS problem wearing a Firefox-shaped mask. Once you see it that way, the fix is straightforward — even if Apple makes you work a bit to find the switch they flipped without telling you.