T3 T3rnel Browser

Manual

Install

  1. Choose your browser's store. Chrome, Brave and Chromium install from the Chrome Web Store package; Edge, Opera and Firefox each install from their own store package. Firefox support is partial.
  2. Pin the toolbar icon. Clicking it opens the side panel, which is the main surface.
  3. Nothing else is required. The free tier works immediately with no account.

Which browsers, and what differs

The extension is built for six browsers from one source. They are not equivalent, and the differences are in the browser rather than the extension β€” an API a browser does not implement is a feature that cannot exist there.

BrowserStatusInstallNotes
ChromeSupportedInstallTested on Chrome for Testing 152.
BraveSupportedInstallTested on Brave 148. Installs from the Chrome Web Store listing.
EdgeSupportedInstallTested on Edge 153. Its own package, because the Chrome one carries a Chrome Web Store signing key Edge rejects.
ChromiumSupportedInstallTested on the current Chromium build. Installs from the Chrome Web Store listing.
OperaPartly supportedStore listing (in review)No side panel: Opera implements neither sidePanel nor sidebarAction. The popup and the tools work; the docked panel cannot open.
FirefoxPartly supportedInstallManifest V3 with a sidebar. No debugger API, so network capture, console capture and PDF export are unavailable.
SafariPartly supportedβ€”MV3 bundle built and packaged. No debugger API and no side panel, so network capture, console capture, PDF export and the docked panel are unavailable; the popup is the surface. Distributed through the Mac App Store after conversion with safari-web-extension-converter.

Every supported browser is verified through the real docked side panel on normal web pages. Manual acceptance comes before automated regression coverage.

Permissions

Installing grants activeTab, alarms, debugger, downloads, nativeMessaging, scripting, sidePanel, storage and tabs. Website access is not granted at install.

On first install, a setup page opens that asks for website access with a single toggle. This is the one permission the extension cannot work without β€” without it, the MCP bridge can list your tabs but can't click, fill, or read anything on them. Granting it during setup means every tool works from the start. If you skip it, you can grant it later from Settings, or a notification will prompt you the first time a tool call needs it.

downloads and nativeMessaging are declared at install because neither can work as an optional grant. downloads needs the gesture that the capture requesting it has already spent, and nativeMessaging is opened by the service worker at startup, where there is no gesture to spend at all. nativeMessaging lets the extension talk to a local companion program you install yourself, and to nothing else; with no such program installed it does nothing.

debugger is declared at install because Chrome does not allow it to be optional. Nothing attaches a debugger session until you start network capture, console capture or PDF export, and Chrome shows its own banner on the tab whenever one is active.

Everything else is requested the first time you use the feature that needs it, with an explanation shown before the browser's own prompt:

PermissionRequested when
Site accessDuring setup (recommended), or the first time a tool call needs it. Grant once and every tool works.
history, bookmarks, tabGroups, webNavigation, offscreen, browsingDataWhen you enable the feature that needs it. The explanation appears before the browser prompt.

Declining is safe. The tool returns a PERMISSION_REQUIRED error naming what it needed and why, and every other feature keeps working.

Connect an MCP client

Point your client at the MCP Session Bridge and the extension finds it on its own over a local WebSocket β€” no global install, no --install, no native host manifest. It works with Claude Code/Desktop, Cursor, VS Code, Windsurf, Antigravity, IntelliJ, Codex, Grok Build, Kimi Code/Desktop, JCode, Cline, OpenCode, Continue.dev, KiloCode, Roo Code, Aider, OpenClaw, Hermes, OpenFang or any other MCP client. For a Claude Desktop-style config:

{
  "mcpServers": {
    "t3rnel-session": {
      "command": "npx",
      "args": ["-y", "@t3ratech/mcp-session-bridge"]
    }
  }
}

With AI/MCP automation allowed β€” the default, and the choice the setup page offers β€” the first connection is approved automatically: no pairing prompt, no per-action prompts, ever. Arm the approval gate in Settings and a new bridge asks once in the side panel before it may connect. The pre-1.3.0 native-messaging path still works as a fallback for hosts registered by older installs; mcp-session-bridge --install only matters there.

The extension then exposes all 97 tools against the tabs you are already signed into.

The bridge is free and needs no licence of its own. Without the extension it falls back to a standalone automation browser. The full set of advanced tools and features is available through the T3rnel Browser extension's Pro tier.

The approval gate

The gate is off by default β€” installing the extension and allowing AI/MCP automation is the consent, so an MCP client's calls just run. Arm it in Settings and tools that change pages β€” clicking, filling, typing, evaluating JavaScript, uploading, and every vault operation β€” require your approval when the caller is an MCP client. The agent receives a refusal naming the exact action, for example:

APPROVAL_REQUIRED: 'browser_click' needs your OK before it runs.
Requested action: browser_click (selector=#place-order).

Approve it in the side panel and the action runs once. The next one asks again. You can add specific tools to a never-ask list, mark extra tools always-ask, or pin whole origins as protected so anything aimed at them is gated regardless of risk.

Activate Pro

  1. Open the side panel β†’ Settings β†’ Get Pro. A chooser opens with the two ways to pay:
    • PayNow β€” Visa, Mastercard, ZimSwitch, EcoCash, OneMoney, Telecash, InnBucks and O'mari.
  2. Press Continue and complete the checkout in the tab that opens. Nothing is charged inside the extension.
  3. Return to the extension. The key collects itself; keep it β€” it activates your other machines.
  4. On another machine, paste the key into Settings β†’ Enter licence key.

One licence covers three installations. Pro unlocks additional features directly inside the extension.

Troubleshooting

SymptomCause and fix
PERMISSION_REQUIREDThe feature needs an optional permission you declined. Re-run it and accept, or grant it in the side panel.
APPROVAL_REQUIREDWorking as designed. Approve the action in the side panel.
"could not read tab … at …"The page is not readable β€” site access not granted, a restricted chrome:// page, or the tab closed. The extension reports this rather than returning an empty page, because an empty page reads to an agent as a page with no content.
CSS output marked partialA cross-origin stylesheet cannot be read by any script. The named sheets were skipped; the rest of the output is complete.
Debugger banner dismissed, CDP tools failedRestart the tool. The extension notices a dropped session and re-attaches automatically.
LICENSE_ACTIVATION_LIMIT_REACHEDAll three installations are in use. Deactivate one, or contact support.