# Browser (OpenClaw-managed) Documentation

## Overview

OpenClaw operates a dedicated, isolated browser profile separate from your personal browsing. The system supports multiple browser profiles including "openclaw" (managed), "chrome" (extension relay), and remote CDP configurations.

## Key Features

**Isolation & Control:**
A separate browser profile named openclaw (orange accent by default) with deterministic tab management, agent actions like clicking and typing, plus snapshots and screenshots.

**Profile Options:**
- `openclaw`: managed, isolated instance
- `chrome`: extension relay to your system browser
- Remote CDP: browser running elsewhere

## Quick Start

Basic commands include starting the browser, opening URLs, and capturing snapshots:
```bash
openclaw browser --browser-profile openclaw start
openclaw browser open https://example.com
openclaw browser snapshot
```

## Configuration

Browser settings reside in `~/.openclaw/openclaw.json`. Key options include enabling/disabling, setting default profiles, choosing executable paths, and configuring multiple profiles with different CDP ports.

## Snapshot & Action System

Two snapshot styles exist:
- **AI snapshots** (numeric refs like `12`): `openclaw browser snapshot`
- **Role snapshots** (role refs like `e12`): `openclaw browser snapshot --interactive`

Actions use refs from snapshots: `openclaw browser click 12` or `openclaw browser type e12 "text"`

## Extension Relay Setup

Users can control existing Chrome tabs via the OpenClaw extension without launching a separate browser instance, requiring the extension installation and activation on desired tabs.

## Security Considerations

Browser control is loopback-only; access flows through the Gateway's auth or node pairing. Remote CDP URLs should use HTTPS where possible and tokens should be managed via environment variables rather than config files.

## Debugging & Advanced Features

Tools include console logging, error tracking, network request inspection, tracing, and JavaScript evaluation within page context—all accessible via CLI commands.
