# Chrome Extension Documentation

## Overview

The OpenClaw Chrome extension enables agent control of existing Chrome tabs through a browser relay system rather than launching a separate profile.

## Core Architecture

The system consists of three components:

1. **Browser control service**: API endpoint the agent calls via Gateway
2. **Local relay server**: Bridges control server and extension (default: `http://127.0.0.1:18792`)
3. **Chrome MV3 extension**: Attaches to active tabs using `chrome.debugger` and pipes CDP messages

## Installation Steps

Users install the extension via CLI command, retrieve its path, then manually load it unpacked in Chrome's developer mode and pin it for convenience.

## Operating the Extension

The built-in `chrome` profile targets the extension relay by default. Users can create custom profiles with different names and ports as needed. The extension controls only explicitly attached tabs—it doesn't automatically target whatever tab is visible.

## Status Indicators

The toolbar badge displays connection status: "ON" indicates attachment, "…" shows connecting state, and "!" signals relay unreachability (typically meaning the browser relay server isn't running locally).

## Gateway Configurations

**Local setups** (Gateway on same machine as Chrome) require minimal configuration—the relay auto-starts. **Remote setups** (Gateway elsewhere) require running a node host on the Chrome machine.

## Security Considerations

The documentation emphasizes this grants significant access: When attached, the model can click/type/navigate in that tab, read page content, access whatever the tab's logged-in session can access. Recommendations include using dedicated Chrome profiles, maintaining tailnet-only access, and avoiding public port exposure.
