How to programatically detect installed web browsers on macOS
09:56 11 Dec 2025

Historically, I remember that detecting installed web browsers on macOS was somewhat error prone.

You can ask macOS for the apps which register themselves as handlers for HTTPS, but that can show too much because there are apps like iTerm2 and BetterTouchTool which can also handle HTTPS. You can also use the same method to ask macOS for apps which can open HTML. Intersect the two, and it gets pretty close. But not perfect, because iTerm2 still shows on that list.

However, if one visits System Settings > Desktop & Dock > Default web browser, macOS only shows web browsers there. And it works with more obscure browsers like Waterfox too.

So there must be some API (maybe private) to do it, but I’m not finding it.

swift objective-c macos