Skip to content

Submission troubleshooting

Quick fixes for the errors that stop a submission before or during review. For post-review rejections, see Rejection codes.

symptomfix
“An error occurred: please try again later” on uploadUpload the file produced by pnpm zip from .output/, not a hand-made archive. manifest.json must sit at the zip root, not inside a folder.
“Invalid manifest” / manifest key warningsNever hand-edit manifest.json; it is generated. Fix the source in wxt.config.ts and rebuild. Uploading a Firefox zip to CWS also lands here: browser-specific keys belong only in the Firefox build.
“Cannot submit: privacy practices incomplete”Every permission needs a justification and every data question an answer. Work through Privacy disclosures; the submit button stays disabled until all fields are filled.
Icon errorsThe manifest icon set must include 128×128. Regenerate assets rather than resizing by hand.
“Version already exists”Bump version in wxt.config.ts and rebuild; each upload needs a strictly greater version.
  • Pending for more than ~2 weeks: broad host permissions (https://*/* from the demo content script; narrow it), newly registered accounts, and first submissions all extend review. The “contact support” form in the dashboard occasionally unsticks month-old items.
  • Review keeps asking about a permission: your justification doesn’t connect the permission to user-visible functionality. Rewrite it as “user does X → extension needs Y”, or remove the permission.
  • Test the exact store zip: unzip the file you uploaded and load it unpacked in a fresh profile. Dev output and the production zip differ (env, minification).
  • Check env values baked into the build: WXT_API_URL and the Firebase config compile in at build time; a zip built with a stale .env points at the wrong backend. Rebuild with production values and submit an update.
  • The background dying on some installs is usually a permission or API-availability difference; see the background guide.
  • Emails asking you to “verify your item” by granting OAuth access are phishing; the store never asks for that. Report and delete.
  • Payments-profile or identity-verification holds block publishing until resolved in the dashboard; start that process before launch day.