Cannot read property ‘onClicked’ of undefined when using chrome.action or chrome.browserAction

ManifestV3

manifest.json: add action (not browser_action), see also the migration guide.

  "action": {},
  "background": {"service_worker": "background.js"},

background.js: use chrome.action not chrome.browserAction.

Classic ManifestV2

For those who already have added something like

"background": {
    "scripts": ["background.js"]
}

and still gets Cannot read property 'onClicked' of undefined – just add

"browser_action": {}

into your manifest.json

Leave a Comment