Windows 10 – Can’t Change Tel Protocol Handler

protocol-handlersoftphonewindows 10

How do I run a custom command for tel: links in Windows 10?

I'm trying to open phone numbers formatted as links with dialer.exe. I was able to do this successfully with callto: links by adding the path for dialer.exe to HKCU\SOFTWARE\Classes\callto\shell\open\command (details here).

However, this didn't work for tel: links. This post suggested that tel: links need to be configured in HKCR\tel\shell\open\command instead, but that didn't work, either.

Trying to configure tel: links via Windows Settings or the Control Panel only gives me the options to open them in Chrome, Skype for Business, or "Look for an App in the Store". In the Control Panel, I tried in Set Associations and Set Default Programs. In the Settings app, I tried "Choose default apps by protocol".

This post suggests that I need to delete the Tel key under HKLM\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\URLAssociations\, but it appears that only removed Chrome from the list of suggested apps that appears when I try to open a tel: link.

This post said I should clear HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\tel\ProgId, but that just brings up the window to choose between Skype and a Windows Store app again.

Best Answer

You can save this (you should change dialer %1 to your own command line):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\callto]
@="URL:callto"
"URL Protocol"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\tel]
@="URL:tel"
"URL Protocol"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell\Open]

[HKEY_CURRENT_USER\SOFTWARE\Classes\dialer.callto\Shell\Open\Command]
@="dialer %1"

[HKEY_CURRENT_USER\SOFTWARE\Dialer]

[HKEY_CURRENT_USER\SOFTWARE\Dialer\Capabilities]
"ApplicationDescription"="Dialer"
"ApplicationName"="Dialer"

[HKEY_CURRENT_USER\SOFTWARE\Dialer\Capabilities\URLAssociations]
"callto"="dialer.callto"
"tel"="dialer.callto"

[HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]
"Dialer"="Software\\Dialer\\Capabilities"

as .reg file and import it in the registry. That should add dialer in the list of programs you can choice for callto: and tel: protocols.

Related Question