<!-- https://zerolog.ch/docs/extension · Docs / Browser -->
# Browser extension

Use ZeroLog chats in your browser side panel. Ask for help with pages you can access, then follow the activity in the panel.

## Install and pair

Install the Chrome or Firefox build from [the extension page](https://zerolog.ch/extension). In the extension, choose **Connect with ZeroLog** and approve in your signed-in account. The one-time code from the extension page still works as well.

## Connecting

**Connect with ZeroLog** pairs in one click. The extension keeps a secret verifier and zerolog.ch only sees its challenge. You approve in your signed-in account, and the extension finishes the pairing once. Code pairing still works. You can set a default browser per account and test the connection.

## Use the side panel

Open a ZeroLog chat in the panel and choose the browser tab you want help with. The model can read page content and carry out browser actions. The panel shows its activity, and you can review and approve actions when prompted.

When filling forms, ZeroLog will not enter passwords, payment-card details or one-time codes. Enter those yourself.

Page content used to answer your request follows the same retention settings as your chats. Read [Zero data retention](https://zerolog.ch/docs/zdr).

## The panel in version 0.3

The panel has four tabs: Chats, Page, Browser and Connection. Answers show as Markdown and you can search your chats. The Browser tab lists the current task from the real tool steps, and a banner offers to take over. After installation a setup page opens, and text you select on a page reaches the panel through the context menu.

## The agent's own tab

Since version 0.3.1, if no agent tab is open, `browser_navigate` opens its own tab in a tab group called ZeroLog and keeps using it. The extension asks for the tabGroups permission for this.

The safety rules stay: no sensitive fields, **http and https** pages only, the site rule below, **45 seconds** per action, and a visible stop button.

## What needs your approval

The permission tier, set in the Connection tab, decides which actions show an approval card. **Smart** is the default: reading the page and navigating run on their own; clicks, typing, key presses and tab changes ask first. **Manual** asks for every action. **Always** never asks.

The tier never lifts the hard rules: passwords, card details, one-time codes and CAPTCHAs stay off limits, and only http and https pages can be opened.

The site rule is a setting in ZeroLog. By default every site is allowed unless you blocked it. In strict mode a site works only after you approve it, and that approval stays until you remove it. A block always wins in either mode.

## Choose a connected browser

You can pair Chrome and Firefox and choose which connected browser to use from the panel. If one browser closes during a task, the extension can continue in another connected browser.

## Updating, and Firefox

Installed copies do not update themselves. Download the new package from the extension page. In Chrome, replace the folder and reload the extension on chrome://extensions.

For Firefox, Mozilla has signed version 0.3.1 as an unlisted add-on. Install the signed file from the extension page. It needs **Firefox 140 or newer** (Chrome 116 or newer for the Chrome build) and stays installed after a restart. It does not update itself either, so a new version means installing the new signed file. The page offers the signed file only when it matches the current extension version; otherwise the source download is a developer preview.

## Send files in a chat

Use the **+ file** button or drop a file into the panel. Images are sent as images when the selected model supports them. Text files are added as text; other files are attached by name.

Up to **8 files** per message, **20 MB** per file and **24 MB** per message. Files and replies stay in the same chat you can open in the web app.

## Your chats

Continue an existing ZeroLog conversation or start a new one in the side panel. Files downloaded during a task appear in the panel's download list.

## What happens to one browser action

Mermaid source of the diagram on this page:

```mermaid
%% Browser extension: one browser action. Facts from server/extrelay.js, extension/tools.js, extension/sw.js, extension/lib/guards.js, page-input.js, server/bridges.js.
flowchart TB
  chat["You ask in the side panel chat"]
  model["The model asks for a browser tool<br/>navigate, click, type, read, screenshot ..."]
  relay["ZeroLog relays it to the<br/>extension of the connected browser<br/>(45 s per action)"]

  subgraph EXT["Four checks inside the extension"]
    direction TB
    c1["Only http and https pages"]
    c2["Site rule: open by default,<br/>or strict, where each site needs your OK"]
    c3["Never into password, card<br/>or one-time-code fields"]
    c4["Permission tier decides<br/>if an approval card is needed"]:::hot
  end

  run["The action runs on the tab<br/>(navigation opens a tab in the<br/>ZeroLog tab group)"]
  back["Result and screenshot<br/>go back to the model"]

  c1 ~~~ c3
  c2 ~~~ c4
  chat --> model --> relay --> EXT --> run --> back
```
