Skip to content
Latchkey

Chrome Web Store "Manifest version 2 is no longer accepted" in CI

The Chrome Web Store no longer accepts uploads with "manifest_version": 2. The package is rejected at submission until the manifest is migrated to V3.

What this error means

The upload fails with an itemError stating Manifest V2 is no longer supported or accepted for this extension.

chrome-webstore-upload
{
  "uploadState": "FAILURE",
  "itemError": [
    { "error_detail": "Manifest version 2 is no longer supported. Please migrate to
       manifest version 3." }
  ]
}

Common causes

The manifest still declares manifest_version 2

The package was built from a V2 manifest, which the store will not accept for new uploads.

Build output lagged behind a source migration

Source was migrated to V3 but the shipped artifact was built from an old branch or cache still on V2.

How to fix it

Set manifest_version to 3 and migrate the manifest

  1. Change manifest_version to 3.
  2. Replace V2-only keys with their V3 equivalents (background, action, host_permissions).
  3. Rebuild and re-upload.
manifest.json
"manifest_version": 3

Verify the built manifest is V3 in CI

Fail the build if the packaged manifest still declares version 2.

.github/workflows/ci.yml
- run: |
    v=$(node -p "require('./dist/manifest.json').manifest_version")
    test "$v" = "3" || { echo "manifest must be V3"; exit 1; }

How to prevent it

  • Assert manifest_version is 3 in CI before upload.
  • Build from the migrated branch, not a cached V2 artifact.
  • Track Chrome MV2 deprecation dates for your channels.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →