By default, JupyterLite tries to launch a ServiceWorker.

If available, this enables a number of useful features:

  • synced content between browser storage and kernels

  • a robust, offline-capable caching proxy for all fetched content, including:

    • the JupyterLite application itself

    • content files from the server

    • any requests made by kernel, such as installed packages


A ServiceWorker will only be created and used if all of the following are true:

  • the extension has not been disabled

  • the user’s current browser session supports the ServiceWorker API

  • the HTTP server’s URL starts with one of:

    • https://

    •{*}/ (any port)

    • http://localhost:{*}/ (any port)