A BrowserSetting object used to change the browser's proxy settings.

Note: Changing proxy settings requires private browsing window access because proxy settings affect private and non-private windows. Whether an extension can access private browsing windows is under user control. See Extensions in Private Browsing for details. Your extension can check whether it has access to private browsing windows using extension.isAllowedIncognitoAccess. If your extension doesn't have private window permission, calls to proxy.settings.set() throw an exception.

The underlying value is an object. When setting this object, all properties are optional. Any omitted properties are reset to their default value.

autoConfigUrl Optional

string. A URL to use to configure the proxy.

autoLogin Optional

boolean. Don't prompt for authentication if the password is saved. Defaults to false.

ftp Optional Deprecated

string. The address of the FTP proxy. Can include a port.

http Optional

string. The address of the HTTP proxy. Can include a port.

httpProxyAll Optional

boolean. Use the HTTP proxy server for all protocols. Defaults to false.

passthrough Optional

string. A comma-separated list of hosts that shouldn't be proxied. Can be defined as:

  • HOST_NAME[:PORT], for example: or
  • <local>, to bypass proxying for all hostnames that don't contain periods.

You can use IPv6 addresses. For example, [::123].

Hosts localhost,, and [::1] are never proxied.

proxyDNS Optional

boolean. Whether to proxy DNS when using a SOCKS proxy. Defaults to true when using SOCKS5 and false when using SOCKS4. Prior to Firefox 128, it defaulted to false for SOCKS4 and SOCKS5.

proxyType Optional

string. The type of proxy to use. This may take: "none", "autoDetect", "system", "manual", "autoConfig". Defaults to "system".

socks Optional

string. The address of the SOCKS proxy. Can include a port.

socksVersion Optional

integer. The version of the SOCKS proxy. May be 4 or 5. Defaults to 5.

ssl Optional

string. The address of the TLS/SSL proxy. Can include a port.


let proxySettings = {
  proxyType: "manual",
  http: "",
  socksVersion: 4,
  passthrough: "",

browser.proxy.settings.set({ value: proxySettings });

Browser compatibility

BCD tables only load in the browser