Chrome Extension Support

    Electron only supports loading unpacked extensions (i.e., .crx files do not work). Extensions are installed per-session. To load an extension, call ses.loadExtension:

    Loaded extensions will not be automatically remembered across exits; if you do not call loadExtension when the app runs, the extension will not be loaded.

    Note that loading extensions is only supported in persistent sessions. Attempting to load an extension into an in-memory session will throw an error.

    See the documentation for more information about loading, unloading, and querying active extensions.

    Supported Extensions APIs

    We support the following extensions APIs, with some caveats. Other APIs may additionally be supported, but support for any APIs not listed here is provisional and may be removed.

    chrome.devtools.network

    All features of this API are supported.

    chrome.devtools.panels

    All features of this API are supported.

    The following properties of chrome.extension are supported:

    • chrome.extension.lastError

    The following methods of chrome.extension are supported:

    chrome.runtime

    The following properties of chrome.runtime are supported:

    • chrome.runtime.lastError
    • chrome.runtime.id

    The following methods of chrome.runtime are supported:

    • chrome.runtime.getBackgroundPage
    • chrome.runtime.getManifest
    • chrome.runtime.getPlatformInfo
    • chrome.runtime.getURL
    • chrome.runtime.connect
    • chrome.runtime.sendMessage
    • chrome.runtime.reload
    • chrome.runtime.onStartup
    • chrome.runtime.onInstalled
    • chrome.runtime.onSuspendCanceled
    • chrome.runtime.onConnect
    • chrome.runtime.onMessage

    chrome.storage

    Only chrome.storage.local is supported; and chrome.storage.managed are not.

    The following methods of chrome.tabs are supported:

    • chrome.tabs.sendMessage
    • chrome.tabs.executeScript
    • chrome.tabs.update (partial support)
      • supported properties: url, muted.

    chrome.management

    The following methods of chrome.management are supported:

    • chrome.management.getAll
    • chrome.management.get
    • chrome.management.getSelf
    • chrome.management.getPermissionWarningsById
    • chrome.management.getPermissionWarningsByManifest
    • chrome.management.onDisabled

    chrome.webRequest

    All features of this API are supported.