Chrome throws Unchecked runtime.lastError: The message port closed before a response was received when either there is a conflict with an extension or some of the onMessage listeners in your created extension is expected to return a promise.

Solution

To solve this issue, first toggle off all the installed extensions in your chrome browser. Then reload the page and check if the issue is resolved. You should not get any error this time. Now turn on the extensions one by one and keep checking the page by reloading after enabling an extension. If you are not getting the error then it means that extension is not causing problem. This way you will get to know the culprit and keep it off.

List of known extensions causing error

Here is the list of those extensions which causes unchecked runtime.lasterror –

  1. Video Downloader professional
  2. Flareget Integration
  3. MeddleMonkey
  4. Norton Safe Search
  5. Google Publisher Toolbar
  6. Norton Safe Web
  7. Video Speed Controller
  8. Kaspersky Protection
  9. Shortkeys (Custom Keyboard Shortcuts)
  10. What a font
  11. Color Contrast Analyzer
  12. Adskill
  13. Google™ Search Keyboard Shortcuts
  14. React-Sight
  15. Stylish
  16. Screen Capture
  17. OurStickys – Sticky Notes
  18. TamperMonkey
  19. Piggy
  20. Wappalyzer
  21. AdGuard
  22. Augury
  23. Google Voice
  24. DuckDuckGo Privacy Essentials
  25. StayFocusd
  26. 1password
  27. OneTab chrome 
  28. Automatic Backlink Checker
  29. Coupons at Checkout
  30. Sound Bar
  31. Auto Tab Discard
  32. NoCoffee Vision Simulator
  33. OrangeMonkey

There could be other extensions as well which could create problems. Keep an eye on the installed adblock or antivirus extensions.

    Tweet this to help others

For extension developers

If you are an extension developer and getting this error then it means you have issues in your onMessage calls. Check your extension files like background.js and look for all onMessage calls. See if you are returning anything or not.

chrome.runtime.onMessage.addListener(function(rq, sender, sendResponse) {
    setTimeout(function() {
        sendResponse({status: true});
    }, 1);
    return true;  // Return true to fix the error
});

Comments

About the Author

akamit

I am Akash Mittal, an overall computer scientist. If you want to guest post, need help in your projects, want to advertise, Feel free to contact me at [email protected]

View All Articles