Hi all,
Starting in Chrome 137, we will remove the ability to load extensions via the `--load-extension` command-line flag in official Chrome branded builds.
This follows our previous request for comment - we've closely looked at the feedback, and based on that feel that this should be a safe change for most developers. However, we have identified a few mitigations for specific use cases (more below).
Please note that this change only applies to Chrome branded builds. `--load-extension` will continue to function as before in non Chrome brands, such as Chromium and Chrome For Testing.
This change aims to enhance the security and stability of the Chrome browser for our users.
We have observed that the `--load-extension` flag is commonly abused to load malicious and unwanted software into the browser.
What this means for your development workflow:
We understand that the `--load-extension` flag is a convenient tool for local development and testing. For those of you who primarily use Chrome branded builds,
Consider Chromium or Chrome for Testing: The Chrome For Testing build is specifically designed for development and testing and will continue to support the `--load-extension` flag.
Install extensions via the Chrome Extensions management page: On the Chrome Extensions management page (chrome://extensions), ensure "Developer mode" is enabled and then use the "Load unpacked" option to install your extension.
Some tools and libraries including web-ext currently rely on the `--load-extension` flag. We are working with maintainers where possible to release updates, and expect in most cases their functionality can remain unchanged.
In testing frameworks like Puppeteer, Selenium and Cypress, we are planning to publish updated guidance soon on how to load extensions in stable versions of Chrome.
We recognize that this might mean a slight shift in your usual process, and we truly appreciate your understanding as we work to improve the security of the Chrome ecosystem and protect our users from potential harm.
If you have any questions or concerns regarding this change, please feel free to reply to this email or reach out through our developer support channels.
Thank you for your understanding and continued dedication to building great extensions for Chrome users.
Thanks,
Richard on behalf of Chrome Counter Abuse
Hi Team,
We confirm that --load-extension is no longer working for our Selenium tests following the changes in Chrome 137 branded builds.
Your announcement mentioned upcoming guidance: "In testing frameworks like Puppeteer, Selenium and Cypress, we are planning to publish updated guidance soon..."
Has this specific guidance for Selenium been published yet?
Please note that using chrome://extensions (Load unpacked) or Chrome for Testing are not viable options for our current workflow.
Thanks,
Athul Devkar
This message originated outside your organization.
Hi Team,
We confirm that --load-extension is no longer working for our Selenium tests following the changes in Chrome 137 branded builds.
Your announcement mentioned upcoming guidance: "In testing frameworks like Puppeteer, Selenium and Cypress, we are planning to publish updated guidance soon..."
Has this specific guidance for Selenium been published yet?
Please note that using chrome://extensions (Load unpacked) or Chrome for Testing are not viable options for our current workflow.
Thanks,
Athul Devkar
Thanks for the quick response and details. Some follow-up questions:
install_extension()
method might be available in Selenium-Java?--load-extension
flag)?This message originated outside your organization.
Do you have an estimated timeline for when the official install_extension() method might be available in Selenium-Java?
Could you please provide a Java example for the current BiDi approach, similar to the Python one you shared?
Regarding the browser version for the BiDi method: Is Chrome Canary a strict requirement at the moment, or is there a possibility it would work with recent Stable or Beta versions (which we primarily use for testing)?
Is WebDriver BiDi the intended primary mechanism for Selenium to handle extension installation in branded Chrome builds going forward (as an alternative to the deprecated --load-extension flag)?
Hi, our team was notified via the Cypress issue that was opened. This is a really aggressive timeline for us. We didn't know this thread existed with this announcement as we were following the original RFC that did not provide an update on timelines. Would you prefer that we respond through this group or the Cypress issue?