Uploading extensions
Here is a simple example of an unpacked extension:Using extensions in a browser
Passing the extension name or ID to thecreate method will load it into the browser:
Using extensions directly from the Chrome Web Store
Kernel’s CLI offers a command for fetching and unpacking extensions directly from the Chrome Web Store. Simply pass the URL of the extension you want to download and the CLI will download the extension and unpack it into the specified directory.CLI
CLI
Loading an extension into a running browser
If you have a browser running and would like to load an extension into it after the browser session has started, Kernel also allows you to do that via the CLI (or API):CLI
Note that this will restart the browser process and break any connections to the browser CDP URL.
Extensions requiring enterprise policies
For a complete list of available extension settings and policies, refer to the Chrome Enterprise Policy documentation.Uploading extensions requiring enterprise policies
Some Chrome extensions require elevated permissions that Chrome will only grant when the extension is installed via enterprise policies. These extensions cannot be loaded with the standard--load-extension flag and require special handling.
What are enterprise policy extensions?
Extensions that require enterprise policies typically:- Use permissions like
webRequestBlockingorwebRequestwith blocking capabilities - Need to intercept and modify network requests before they’re sent
- Require installation via Chrome’s
ExtensionInstallForcelistpolicy
Required files for upload
When uploading an extension that requires enterprise policies to Kernel, your extension directory or zip file must include:- Extension source files - Your
manifest.jsonand all extension code (background scripts, content scripts, etc.) update.xml- A Chrome update manifest that points to the.crxfile location.crxfile - The signed and packed extension file
The
.crx file and update.xml are required for Kernel to serve the extension via Chrome’s ExtensionInstallForcelist policy. If you’re deploying extensions from the Chrome Web Store via ExtensionInstallForcelist, these files are optional since Chrome uses the Web Store’s default update URL.Automatic detection and validation
Kernel automatically detects extensions that require enterprise policies by analyzing themanifest.json file during upload. No manual configuration is needed.
Detection process:
- You upload an extension via CLI or API
- Kernel scans the
manifest.jsonfor permissions likewebRequestBlocking - If enterprise policies are required, Kernel validates the required files are present
How it works
Once you successfully upload an enterprise policy extension, Kernel handles the rest automatically:- Upload - You upload your extension with all required files
- Detection - Kernel detects the enterprise policy requirement from the manifest
- Policy configuration - Extension is automatically added to
ExtensionInstallForcelist - File serving - The kernel-images server serves update files at
http://127.0.0.1:10001/extensions/{extension-id}/update.xml - Installation - Chrome installs the extension via enterprise policy when the browser starts

