Type Object
Mandatory No
Manifest version 2 or higher
"chrome_settings_overrides" : {
  "homepage": ""

Use the chrome_settings_overrides key to override the browser's home page and add a new search engine.


The chrome_settings_overrides key is an object that may have the following properties:

Name Type Description
homepage String

Defines the page to be used as the browser's homepage.

The replacement is given as a URL. The URL may:

  • point to a file bundled with the extension, in which case it is given as a URL relative to the manifest.json file
  • be a remote URL, such as "".

If two or more extensions both set this value, then the setting from the most recently installed one will take precedence.

To override new tabs, use "chrome_url_overrides" instead.

This is a localizable property.

search_provider Object

Defines a search provider to add to the browser.

The search provider has a name and a primary search URL. Alternative URLs may be provided, including URLs for more specialized searches like image search. In the URL you supply, use "{searchTerms}" to interpolate the search term into the URL, like:{searchTerms}. You can also provide POST parameters to be sent along with the search.

The search provider will be presented to the user alongside the built-in providers. If you include the is_default property and set it to true, the new search provider will be the default option. By supplying the keyword property, you enable the user to select your search provider by typing the keyword into the search/address bar before the search term.

This is an object with the properties listed below. All string properties are localizable.

String: The search engine's name, displayed to the user.
String: URL used by the search engine. This must be an HTTPS URL.
is_default Optional
Boolean: True if the search engine should be the default choice. On Firefox, this is opt-in and the user will only be asked the first time the extension is installed. They will not be asked again if a search engine is added later.
alternate_urls Optional
Array of String: An array of alternative URLs that can be used instead of search_url.
encoding Optional
String: Encoding of the search term, specified as a standard character encoding name, such as "UTF-8".
favicon_url Optional
String: URL pointing to an icon for the search engine. In Manifest V2, this must be an absolute HTTP or HTTPS URL. In Manifest V3, this must reference an icon provided in the extension as a path relative to the extension's root.
image_url Optional
String: URL used for image search.
image_url_post_params Optional
String: POST parameters to send to image_url.
instant_url Optional
String: URL used for instant search.
instant_url_post_params Optional
String: POST parameters to send to instant_url.
keyword Optional
String: Address bar keyword for the search engine.
prepopulated_id Optional
The ID of a built-in search engine to use.
search_url_post_params Optional
String: POST parameters to send to search_url.
suggest_url Optional
String: URL used for search suggestions. This must be an HTTPS URL.
suggest_url_post_params Optional
String: POST parameters to send to suggest_url.


This example shows how to set a search provider.

"chrome_settings_overrides": {
  "search_provider": {
    "name": "Discogs",
    "search_url": "{searchTerms}",
    "keyword": "disc",
    "favicon_url": ""

Browser compatibility

BCD tables only load in the browser