Контентный скрипт не получает ответ на сообщение от фонового.(Chrome extension)

У меня есть такой код в контентном скрипте:

const getFullImg = async () => {
        const element = imagesWidgetDocument.querySelector(".rc-imageselect-challenge");
        const rect = element.getBoundingClientRect();
        try {
          const response = await sendMessageToBackground({ action: "takeScreenshot" });
          if (response) {
            const img = new Image();
            img.src = response;
            await new Promise((resolve) => {
              img.onload = resolve;
            });
            const canvas = document.createElement("canvas");
            canvas.width = 500;
            canvas.height = 500;
            const x = rect.left + window.scrollX;
            const y = rect.top + window.scrollY;
            const ctx = canvas.getContext("2d");
            ctx.drawImage(img, x + 110, y + 130, 500, 500, 0, 0, 500, 500);
            const dataURL = canvas.toDataURL("image/png");
            return dataURL;
          }
        } catch (error) {
          console.error(error);
        }
      };
      
      const sendMessageToBackground = (message) => {
        return new Promise((resolve, reject) => {
          chrome.runtime.sendMessage(message, (response) => {
            if (chrome.runtime.lastError) {
              reject(chrome.runtime.lastError);
            } else {
              resolve(response);
            }
          });
        });
      };

И такой код в фоновом скрипте:

//TakeScreenshot
chrome.runtime.onMessage.addListener(function(request, sender, callback) {
  if (request.action === "takeScreenshot") {
    setTimeout(() => {
      chrome.tabs.captureVisibleTab({ format: "png", quality: 100 }, function(screenshotUrl) {
        if (screenshotUrl) {
          console.log(screenshotUrl)
          callback(screenshotUrl);
        } else {
          callback(null);
        }
      });
      return true; // Сообщение для chrome, что запрос асинхронный
    }, 1000)
    
  }
});

Но я получаю ошибки:The message port closed before a response was received. - На вкладке которая сейчас является активной И ошибку Unchecked runtime.lastError: Cannot access contents of url "devtools://devtools/". Extension manifest must request permission to access this host. Причем эта ошибка, как мне кажется мешает получить ответ, потому что мой фоновый скрипт правильно делает скриншот и получает ссылку на него, но контентный скрипт не может получить его, хотя присутствует sendResponse.

Я не нашел нигде в интернете подобной проблемы и не знаю как ее пофиксить. Я пытался добавить в мой манифест файл разрешение на доступ к devtools, но это не помогло Вот мой manifest:

{
    "name": "CaptchaSolver",
    "description": "solves captchas from websites",
    "version": "1.1",
    "manifest_version": 3,
    "icons": {
        "48": "images/48.png"
    },
    "host_permissions": [
        "<all_urls>"
    ],
    "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "js": ["./js/index.js"]
        }
    ],    
    "action": {
        "default_popup": "popup.html"
    },
    "permissions": ["scripting", "activeTab", "storage", "tabs"],
    "background": {
        "service_worker": "./js/background.js"
    }
}

Ответы (0 шт):