For example, if I enter steam://connect/127.0.0.1
in the Omnibox, it will search for the URL instead of launching the program that handles that protocol.
How can Chrome be configured to treat custom protocols correctly?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityFor example, if I enter steam://connect/127.0.0.1
in the Omnibox, it will search for the URL instead of launching the program that handles that protocol.
How can Chrome be configured to treat custom protocols correctly?
This can be adjusted in Chrome's Local State
file.
The exact location depends on your OS. For example:
%LOCALAPPDATA%\Google\Chrome\User Data\Local State
on Windows 7.~/Library/Application Support/Google/Chrome/Local State
on Mac OS X 10.8.~/.config/google-chrome/Local State
on Ubuntu 12.04.Steps:
Close Google Chrome.
Open the Local State
file and search for excluded_schemes
in protocol_handler
.
Add the line
"steam": false,
to excluded_schemes
.
Restart Google Chrome.
ed2k://
and magnet:
work fine without having to manually change anything. What’s special/wrong with steam://
? Maybe the program didn’t register the protocol correctly? I assume that Steam has an associate function…
http
, ftp
, etc. I just know I had to add it for Skype.
Local State
file; it will not even have a protocol_handler
section). Further, setting it to true
does not make it search, it makes it do nothing whatsoever, so that can’t be the problem.
Local State
entry. But that's just a guess. I don't know if the "steam": false,
entry is the proper way to achieve this, but it definitely worked for skype://
.
~/.config/google-chrome/Local State
on Ubuntu 12.04. I wouldn't know about other distributions.
As a reference it looks like Custom URIs not being followed in the Omnibox or when passed as a command line parameter is known issue 560809 in Chromium.
As of writing the issue does not describe any workarounds :/