How to set default application for special link types (e.g., ssh://)?
Some applications will signal to the OS that they can open special link type, such as ssh://
or github-mac://
. They get automatically opened for such links by the web browser (or when using open
in a terminal). If I have multiple such applications, how can I set which one should be the default?
For example, both GitHub Desktop and SourceTree can handle github-mac://
. When I installed GitHub Desktop, it became the default handler for these links. How can I set SourceTree as the default handler without uninstalling GitHub Desktop?
Update December 2020
Rubicode (RCDefaultApp) seems to have gone. That leaves SwiftDefaultApps as the new go-to for this task.
Late Edit July 2019:
Though RCDefaultApp still works on Mojave, it may not survive Catalina [time will tell]
There is, however, a new kid on the block - SwiftDefaultApps, which may become the newer standard. Time will tell (again;)
Very late edit May 2020. I have no Mac that can run Catalina, so I'm reliant on others to keep this answer up to date.
From comments, SwiftDefaultApps reported as working in Catalina 10.15.5
You can do that with a freeware app called RCDefaultApp. It's ancient, but still works on El Capitan.
Update April 2019 - still works on Mojave too.
You can define the default app for any URL scheme.
I don't have one for github, but this shows how you can set, for example, ftps specifically to any installed app that supports the protocol.
You can also try this: https://onflapp.wordpress.com/lincastor/. It allows you to register arbitrary url schemes such as chrome-devtools://
Since it hasn't been mentioned yet, there is also a great, modern app called Choosy that can be used to change default browser-opening behavior for different links, different times of day, etc.