Skip to content
Latchkey

Manifest V3 "background.scripts is not supported" in CI

In Manifest V3 the background.scripts and background.page keys are not valid: V3 uses a single background.service_worker. The linter or store flags the old key when the manifest is otherwise V3.

What this error means

web-ext lint or the store reports that background.scripts (or background.persistent) requires manifest version 2 or lower, while the manifest declares version 3.

web-ext
MANIFEST_FIELD_UNSUPPORTED
"/background/scripts" is not supported in manifest version 3.
"background.scripts" requires manifest version of 2 or lower.

Common causes

A V2 background block under a V3 manifest

The manifest was bumped to version 3 but still carries background.scripts or background.persistent from V2.

A build tool injected the legacy field

A bundler config or template still emits the V2 background shape into the output manifest.

How to fix it

Use a service worker background

  1. Replace scripts/page with a single service_worker entry.
  2. Remove persistent, which has no meaning in V3.
  3. Adapt background code to the non-persistent service worker lifecycle.
manifest.json
"background": {
  "service_worker": "background.js"
}

Fix the manifest template in the build

Update the source or bundler config so the emitted manifest uses the V3 background shape.

How to prevent it

  • Lint the built manifest against V3 in CI.
  • Remove all V2 background keys when migrating.
  • Keep the manifest template in sync with the declared version.

Related guides

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