Skip to content

Browser extension

The Context Code extension turns your browser into an arm of the agent: it opens pages, reads their content, clicks, fills forms and takes screenshots in your real tabs, with your sessions signed in. That is the difference from Playwright: there the agent launches a separate, clean browser; here it works where you already are (your mail, your admin panel, your store).

Everything happens on your computer. The extension only talks to the desktop app over 127.0.0.1; no page, cookie or screenshot leaves your machine through it.

BrowserPackage
Chrome, Edge, Brave, Opera, VivaldiContextCode-Extension-chrome.zip
Firefox 121 or laterContextCode-Extension-firefox.zip

Both are on the downloads page, next to the installers.

  1. Download the zip and unpack it into a folder you will not delete (the extension loads from there).
  2. Open chrome://extensions (edge://extensions in Edge, brave://extensions in Brave).
  3. Turn on Developer mode (top right) and click Load unpacked.
  4. Pick the unpacked folder. The Context Code icon appears in the toolbar; pin it to keep it handy.
  1. Download the zip (no need to unpack it).
  2. Open about:debugging#/runtime/this-firefox and click Load Temporary Add-on; pick the zip.
  3. Click the Context Code icon: the first time it asks you to grant access to sites. It is required to read and act on pages.
  1. In Context Code Desktop open Channels and go to the Browser extension tab.
  2. Click Generate code. You get a six-digit code and the port the app is listening on. The code is valid for five minutes, once, and only from this same computer.
  3. In the browser, click the Context Code icon, type the code and click Pair. If you changed the Web access port, set it under Advanced.
  4. Done: the extension shows up in step 3 with all its commands enabled. If you want to limit what it can do, untick the ones you do not want to allow there.

From then on the extension icon shows a green dot (connected). If Context Code closes, the extension stays “connecting” and comes back on its own when you open the app again.

The sidebar: Context Code inside the browser

Section titled “The sidebar: Context Code inside the browser”

Clicking the extension icon opens a side panel next to the tab (Chrome, Brave and Edge) with a Context Code chat:

  • It is a desktop chat. What you type goes to Context Code Desktop and the answer streams back. The chat is stored in the Chats section of the app (not inside any project) and you can continue it from the desktop or from the panel. The list button switches to any other chat in that section; + starts a new one, which is only created when you send the first message.
  • Your providers and models. The dropdowns at the bottom show exactly the accounts you configured in Context Code (ContextCode AI, Claude, OpenAI, Gemini, Context Forge…) and their models; changing them changes the engine of that chat.
  • The tab as context. With “This tab” checked, the message carries the title and URL of the active tab (only when the tab changes, so the conversation does not balloon) and the agent reads the content through the browser only when it needs it, so you can ask “summarize this” or “what does this email say” without copying anything. The quick actions “Summarize this page” and “What is here” do it in one click. On a protected site nothing is attached.
  • Approval mode, voice and dictation. The shield at the bottom opens the same menu as the desktop (“How should actions be approved?”: read only, ask, approve for me, full access) for that chat. Every answer has a read-aloud button and the microphone dictates with the browser’s own voice engine (Brave ships with dictation disabled).
  • Permissions and questions without switching windows. When the agent needs permission (for example to click in your browser) or asks you something, the card shows up in the panel and you answer there.
  • If Context Code is closed, the panel says so and offers to retry; if the extension is not paired yet, it shows the code field. Settings (pause, unpair, protected sites) are behind the gear icon.

With the extension paired, the agent gets the Navegador tool with these actions:

ActionWhat it doesRisk
tabsLists open tabs.Read only
snapshotPage tree with references (e1, e2…) to each element.Read only
findFinds elements by visible text.Read only
textReadable text of the main content.Read only
screenshotScreenshot of the tab, seen by the model as an image.Read only
waitWaits for a text to appear or disappear.Read only
navigateOpens a URL in the active tab or a new one.Acts
click, type, press, select, scrollInteracts with the page by reference.Acts
back, forward, reloadHistory and reload.Acts
close_tabCloses a tab.Sensitive

The agent prefers Navegador when the task is about something you already have open or are signed into, and Playwright when it needs a clean browser or to test a website.

  • Permission per task. The extension commands are enabled when you pair (you can disable any in Context Code). In every task, the agent asks you once before the first action that changes something (navigate, click, type); reading does not ask and closing tabs is always confirmed. It is the same gate as computer use: in channels (WhatsApp, Telegram, Slack) it only works if that channel is allowed to control the computer.
  • Protected sites. The extension ships with a list of banking and payment domains where the agent neither reads nor acts even if you ask; tabs does not even show their title. Edit it in the extension popup (Protected sites): one domain per line; a word without a dot, such as bank, blocks any host containing it.
  • Passwords. The agent only types a password you gave it in that chat, only into a password field, and asks you to confirm each time (the card does not show the password and the page response does not echo it). It never invents or reuses passwords from other sites, and never types payment data.
  • Passwords from the vault. If the site password is stored in the project vault, the agent asks you to authorize it (as with any secret) and then types it into the password field without seeing it: the app inserts the value right when sending it to the extension, and you confirm the typing as with a password given in chat.
  • Internal pages. It does not act on chrome://, about:, file:// or other extensions.
  • Tab group. Tabs the agent acts on are grouped under “Context Code” (green) so you can see at a glance which ones it is touching; looking without acting does not group. An orange “Claude” group belongs to the Claude in Chrome extension, not this one.
  • Visible indicator. Every action shows a short notice in the corner of the tab (“Context Code: click on …”) so you always know when it is acting.
  • Untrusted content. The agent treats page text as data: it does not follow instructions found on a web page.
  • Revoking. From Context Code (Unpair in the extension tab) the extension loses access instantly. From the popup, Pause stops the agent temporarily without unpairing.

You can pair more than one browser (say, Chrome and Firefox). Each shows up separately with its approved commands; if several are online, the agent uses the first and tells you, and you can point it to a specific one.

  • “Could not reach Context Code” when pairing: the app must be open and the code freshly generated. Check the port under Advanced (8787 by default).
  • Icon with a yellow ”!”: there are commands awaiting approval in Context Code.
  • Icon with a red “x”: the extension was revoked from Context Code; generate a new code and pair again.
  • “Protected site” in the agent’s reply: that domain is on your protected list. Remove it in the popup if you really want the agent to act there.
  • Firefox acts on no page: access to sites has not been granted from the popup.