chromium-web-store: install Chrome Web Store extensions on ungoogled-chromium
Allows adding extensions from chrome web store on ungoogled-chromium. Also adds semi-automatic extension updating.
At a glance
- What is it?
- An MIT-licensed extension that restores Chrome Web Store installs and semi-automatic update checks to ungoogled-chromium and similar forks, with a setup that depends on one browser flag.
- Who is it for?
- Adopt chromium-web-store if you run ungoogled-chromium or a fork that dropped web store support and you still need extensions installed and updated, and you accept that the first step is the chrome://flags/#extension-mime-request-handling setting. Skip it if you already use Chrome or another build with a working web store, or if you need unattended updates: the badge is a prompt, not a service.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 26 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap chromium-web-store fills on ungoogled-chromium
ungoogled-chromium removes the pieces of Chromium that talk to Google services, and the Chrome Web Store is one of them. The practical result is that clicking Add to Chromium in the store does nothing useful, and extensions you already have never learn that a newer version exists. chromium-web-store is a browser extension that puts both behaviours back: the README says it "Allows installing extensions directly from chrome web store" and "Automatically checks for updates to your installed extensions and displays them on the badge."
It is aimed at people who chose a de-Googled build on purpose and do not want to switch back to Chrome just to install an extension. That includes users of ungoogled-chromium itself, users of other forks that lack web store support, and extension developers whose work is not listed in the store at all. The project is written in JavaScript, licensed MIT, and its last push was on 2026-09-06, the same day as the v1.5.5.4 release.
How the badge, the CRX handling and the update check fit together
The extension does two separate jobs, and it is worth keeping them apart.
The install path is a MIME handling problem. When the store serves a .crx file, the browser has to decide whether to prompt the user or reject the download. ungoogled-chromium ships with a flag, chrome://flags/#extension-mime-request-handling, that the README says must be set to Always prompt for install. On forks that are not ungoogled-chromium, the equivalent switch lives in the extension's own options: Advanced > Always download CRX files. The README is blunt about this being the first thing to check, because the two common error strings, CRX_REQUIRED_PROOF_MISSING and Apps, extensions and user scripts cannot be added from this website, are what you see when the flag or the option is wrong.
The update path is a badge. You pin the Chromium Web Store badge to the toolbar, and it shows a red number for available updates. Clicking the badge lists extensions, and clicking a name installs the latest version. The README describes this as semi-automatic: the check runs, but you perform the install. It also notes that some extensions may not update until you restart the browser, referencing issue #4, so the badge count and the running version can disagree until a restart.
For extensions that are not in the store, the mechanism is the update manifest. The README points developers at updates.xml in this repository as an example and at the update_url field in manifest.json, so a self-hosted extension can be picked up by the same badge flow.
Installing chromium-web-store from the CRX release
The README gives one primary installation path and two alternatives. The primary path assumes you are on ungoogled-chromium.
First, open chrome://flags, search for the extension MIME handling flag, and set it to Always prompt for install. This is not optional on ungoogled-chromium; the README states you must change it.
Then download the .crx from the latest release and let the browser prompt you. The README points to the Releases page and gives this direct link:
https://github.com/NeverDecaf/chromium-web-store/releases/latest/download/Chromium.Web.Store.crxAfter the download you should be prompted to install the extension. If you are not on ungoogled-chromium, the README instead asks you to check Extension Options > Advanced > Always download CRX files before doing this.
If the prompt never appears, alternative #1 is to enable developer mode on chrome://extensions with the toggle in the top right, then drag and drop the .crx onto that page. Alternative #2 is the unpacked route: extract the .crx contents to a folder, enable developer mode, click Load unpacked, and select that directory. The README also mentions that if the Add to Chromium button is missing in the store, right-clicking the page and choosing Add to Chromium from the context menu does the same thing.
For the first real use, pin the badge to the toolbar, since the README notes badges are hidden by default. Then install one extension from the store and watch the badge. When an update appears, click the badge and click the extension name.
Where the setup breaks and when this is the wrong tool
The failure modes here are documented rather than hidden, which is a point in the project's favour, but they are real.
The most common one is a setup mistake, not a bug. If you skip the flag or the options toggle, you get CRX_REQUIRED_PROOF_MISSING or the cannot be added from this website error. The README explicitly asks users to confirm both settings before opening an issue, which tells you how often that happens.
The second is the restart requirement. The README states some extensions may not update until you restart the browser and links issue #4. If you expect an update to be live the moment the badge clears, you will be wrong.
The third is scope. This is a manual, badge-driven workflow. There is no unattended update service described in the README; the check is automatic, the install is not. On a managed fleet where extensions must update without a user clicking a badge, this is the wrong tool.
Finally, if you are on Chrome, Edge, or any build that still ships web store support, this extension solves a problem you do not have. Adding it means another extension with permission to touch your extension list for no gain.
How it differs from just using Chrome or a fork with store support
The obvious alternative is not another extension; it is not using ungoogled-chromium. Chrome and most Chromium-based browsers keep the web store and the update service intact, so installing and updating extensions is a built-in behaviour with no flag to change and no badge to pin. The difference is not features, it is who controls the update channel. With Chrome, Google's update service decides when your extensions move. With chromium-web-store on ungoogled-chromium, the browser keeps its de-Googled posture and you decide when to apply each update, at the cost of the flag change, the badge workflow, and the occasional restart.
A second comparison is worth making for extension authors. Chromium's own autoupdate mechanism, an update manifest referenced by update_url in manifest.json, is what the README points to for extensions that are not in the store. chromium-web-store does not replace that mechanism; it consumes it. If your extension is not in the store and has no update manifest, the badge has nothing to read, and the README's guidance is to host one, using updates.xml in this repository as the example.
Maintenance, releases and what the MIT licence means here
The repository is not archived. Its last push was on 2026-09-06, which is recent enough that the code is being touched, and that push corresponds to release v1.5.5.4. The release history shows v1.5.5.3 on 2026-02-17 and v1.5.5.2 on 2025-11-28, so the cadence over the past year has been a few point releases rather than a constant stream. Nothing in the README describes a deprecation plan or a support window, and the README does not document rollback, so if a new release misbehaves you are choosing an older .crx from the releases page yourself.
Upgrade cost is low by design. The browser extension updates through the same badge mechanism it provides, and the README notes this works for chromium-web-store itself. That is a neat property: the tool is its own first test case. If the badge stops working for other extensions, it will likely stop for this one too.
The licence is MIT, which is permissive and places few obligations on redistribution. The repository also contains a LICENSE-fromXML file, which suggests some component carries a separate notice; if you plan to redistribute a modified build, read both files rather than assuming a single licence covers the whole tree. That is a factual observation about the file layout, not legal advice. For deployment at scale, the README points to issue #28 and to src/managed_storage.json, which is where policy-driven configuration would live.
Editorial conclusion
Adopt chromium-web-store if you run ungoogled-chromium or a fork that dropped web store support and you still need extensions installed and updated, and you accept that the first step is the chrome://flags/#extension-mime-request-handling setting. Skip it if you already use Chrome or another build with a working web store, or if you need unattended updates: the badge is a prompt, not a service. Before installing, confirm your fork matches one of the two setup paths in the README, and check the release you download against the repository's updates.xml.
Frequently asked questions
What is chromium-web-store used for?
It is an extension for ungoogled-chromium and other forks that lack web store support. It allows installing extensions directly from the Chrome Web Store and automatically checks for updates, showing the count on a toolbar badge.
How do I install chromium-web-store?
On ungoogled-chromium, set chrome://flags/#extension-mime-request-handling to Always prompt for install, then download the .crx from the latest release and accept the install prompt. If that fails, the README offers two alternatives: drag the .crx onto chrome://extensions with developer mode on, or extract it and use Load unpacked.
Why is chromium-web-store not working and showing CRX_REQUIRED_PROOF_MISSING?
The README treats this as a setup problem. On ungoogled-chromium the MIME handling flag must be set to Always prompt for install; on other forks the Always download CRX files option under Extension Options > Advanced must be checked. Confirm both before filing an issue.
Does chromium-web-store update extensions automatically?
The README describes the updating as semi-automatic. The extension checks for updates and shows a red number on the badge, and you click the badge and then the extension name to install the latest version. Some extensions may not update until you restart the browser.
Can I use chromium-web-store for an extension that is not in the Chrome Web Store?
Yes, if the extension supports it. The README says you host an update manifest file, points to updates.xml in this repository as an example, and requires a url to that file in the extension's manifest.json under the update_url field.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/neverdecaf-chromium-web-store)