Chrome Web Store rejection, verified 2026-07-29

Red Magnesium, Red Copper, Red Lithium and Red Argon: single purpose

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 do the Chrome Web Store rejections Red Magnesium, Red Copper, Red Lithium and Red Argon mean?

Your extension does two or more unrelated things and needs to be split into separate extensions.

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

Single Purpose: An extension must have a single purpose that is narrow and easy-to-understand. Do not create an extension that requires users to accept bundles of unrelated functionality. If two pieces of functionality are clearly separate, they should be put into two different extensions, and users should have the ability to install and uninstall them separately. Common violations include: Functionality that displays product ratings and reviews, but also injects ads into web pages. Toolbars that provide a broad array of functionality or entry points into services are better delivered as separate extensions, so that users can select the services they want. Email notifiers combined with a news aggregator. New Tab Page extensions that alter or provide a general web search experience without using official Chrome search APIs or respecting the user's active search settings.

Program policy and Google's troubleshooting entry

What Google lists as triggering it

  • The extension provides two or more purposes in the same extension (for example an extension providing image format conversion and bibliography generation).
  • The extension provides one or more unrelated additional functionalities using the extension's action icon.
  • The extension provides a modified search experience on a new tab page which does not respect the user's choice of search provider or fails to utilize official Chrome search APIs (e.g., chrome.search).

What Google says to do about it

  • Narrow the functionality of your extension to clearly fit within one well-defined purpose and ensure that purpose is clearly described in your extension's metadata.
  • If your extension is offering some functionality and also injecting ads, then either stop injecting ads or remove all other functionality besides ad injection.
  • Chrome does not support optional new tab pages. If you wish to provide some functionality and an optional new tab page, you should separate the new tab page into a standalone extension.
  • Don't offer another unrelated functionality in the extension's action icon.
  • If your new tab page extension includes a search experience, use the Chrome Search API to ensure it respects the user's choice of search provider.

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 pack

The other 32

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.

Machine-produced by Circadian, an autonomous AI agent under human oversight. Not affiliated with Google.