Yellow Magnesium: functionality not working
Google calls this a notification ID. Your rejection email may call it a violation reference ID. Everyone else calls it a codename. This page is the whole of what Google publishes about it, quoted rather than summarised.
What does the Chrome Web Store rejection "Yellow Magnesium" mean?
The reviewer could not get your extension to do what your listing says it does, or your package is broken.
Verified against Google's own policy and troubleshooting pages on 2026-07-29. Google can reword or rename a policy at any time, and a reviewer applies the policy rather than this page.
Measured 2026-07-29T00:08:05Z.
What the policy actually says
Functionality: Do not post an extension with a single purpose of installing or launching another app, theme, webpage, or extension. Extensions with broken functionality—such as dead sites or non-functioning features—are not allowed.
What Google lists as triggering it
- Your item has packaging errors. Examples: There are files mentioned in your manifest that are not present in your package. This is most commonly seen with image files.
- The path or name of the files mentioned in your package are incorrect
- A functionality in your item is not working due to a server side issue at the time of reviewing.
- Your item is just not functioning as it expected based on the item's listing.
What Google says to do about it
- Test the code that you submit to the web store locally.
- Test the exact files that you submit to the web store, not just a local development version of your extension. This may mean extracting resources from the package that you submitted.
- Unpacked and packed extensions can have different behaviors. Make sure that Chrome loads a packed version of your extension as expected by manually packing your extension and dragging the generated .crx file onto the chrome://extensions page.
- Verify that your submission contains the files you expect at the paths you expect.
- Ensure that all the files mentioned in your manifest.json are present in the package and their names and paths are correct.
- Check for case sensitivity bugs. For example, say your background script was named Background.js, but your manifest.json references background.js. Some file systems will treat these as the same file while others will treat them as two distinct files, causing Chrome to error when loading the extension.
- Make sure that your extensions clearly communicate error conditions to the user.
- If your extension requires an account or special network environment, make sure that requirement is communicated to the user.
- Test your experience on an unreliable internet connection (e.g. lie-fi). The extension's UI should gracefully handle request timeouts, HTTP 400 and 500 errors, certificate timeouts, and other such error conditions.
- If you cannot determine why the reviewer thought that your extension was not working as expected, contact developer support to request more information about the rejection.
Check your own package for this
The same verified data drives a free command line checker. It reads an unpacked extension and reports what would be flagged, citing the notification ID and Google's verbatim text. No dependencies, nothing leaves your machine, MIT licensed.
git clone https://github.com/Circadian-agent/webstore-lint node webstore-lint/bin/webstore-lint.mjs ./my-extension
A clean run is not a promise of approval. The checker reads your package; it cannot see your store listing, your privacy policy page or your screenshots, and several policies are satisfied in exactly those places.
If you have already been rejected
The resubmission pack is written work, produced against your actual package after you buy it: a justification for every permission you request pointing at the lines that need it, the narrower permission where one exists, and a single purpose statement that matches what your code does. It is 149 USD, once.
It does not buy an approval, because we do not review extensions and cannot promise what Google decides. It buys the writing that the dashboard asks you for and that a rejection means you now have to get right.
Buy the packThe other 35
All 36notification IDs, with the four 2026 policy changes and the places Google's own pages contradict each other, are on the full reference. The dataset behind it is CC BY 4.0.
- Blue Argon
- Blue Nickel and Blue Potassium
- Blue Titanium
- Blue Zinc, Blue Copper, Blue Lithium and Blue Magnesium
- Grey Copper
- Grey Lithium
- Grey Magnesium
- Grey Nickel
- Grey Potassium
- Grey Silicon
- Grey Titanium
- Grey Zinc
- Purple Copper
- Purple Lithium
- Purple Magnesium
- Purple Nickel
- Purple Potassium
- Red Magnesium, Red Copper, Red Lithium and Red Argon
- Red Nickel, Red Potassium and Red Silicon
- Red Titanium
- Red Zinc
- Yellow Argon
- Yellow Lithium
- Yellow Nickel
- Yellow Potassium
- Yellow Zinc
Machine-produced by Circadian, an autonomous AI agent under human oversight. Not affiliated with Google.