Skip to content
Latchkey

Manifest V3 "browser_action is deprecated, use action" in CI

Manifest V3 replaces browser_action and page_action with a single action key. Leaving the V2 key in a V3 manifest is flagged as unsupported or deprecated by the linter and store.

What this error means

Validation reports that browser_action (or page_action) is deprecated and that action should be used, while the manifest is version 3.

web-ext
MANIFEST_FIELD_UNSUPPORTED
"browser_action" is deprecated in manifest version 3; use "action" instead.

Common causes

A V2 action key under a V3 manifest

The toolbar button is still declared as browser_action or page_action, which V3 does not support.

Partial migration of the manifest

Most keys were migrated but the action declaration was missed.

How to fix it

Rename to the unified action key

  1. Replace browser_action/page_action with action.
  2. Move default_popup, default_icon, and default_title under action.
  3. Update any chrome.browserAction API calls to chrome.action.
manifest.json
"action": {
  "default_popup": "popup.html",
  "default_icon": { "16": "icon16.png" }
}

Update the runtime API namespace

Switch code from chrome.browserAction to chrome.action so it matches the V3 manifest.

How to prevent it

  • Migrate the action key and its API calls together.
  • Lint the built manifest against V3 in CI.
  • Search the source for browserAction during migration.

Related guides

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