Give your agents
a browser you control.

REL is a Chromium browser for macOS that you can control from your terminal, Python scripts, or AI agent. Open pages, sign in, extract content, and automate tasks in a browser you can see and take over at any time.

REL 0.1.118 · Apple silicon · macOS 15 or later

REL on macOS with an isolated Hacker News session and an agent summarizing comments from the top three stories in Chat
Your tabs, browser tools, and agent chat in one workspace. Watch REL work
Works with your tools

CLI / Python / MCP / HTTP API / Rust

Quickstart

Start with a proxy and a reusable profile, then open your first page. Prefer Python or an AI agent? Connect to the same browser with the tabs below.

One setup, every new page. The Research profile starts a 1440px-wide viewport with Private browser identity and your saved proxy. The opened page shows the IP and country the website sees.

Just trying REL? rel navigate https://example.com works without a proxy subscription.

terminal.sh
# 1. Save your first dedicated ISP proxy
rel proxy create --alias research-isp \
  --upstream-host disp.oxylabs.io --upstream-port 8001 \
  --username user-YOUR_USERNAME --password YOUR_PASSWORD

# 2. Save the proxy, viewport, and browser identity in a profile
rel profile create --name Research --proxy research-isp \
  --viewport desktop --browser-identity private

# 3. Open a page using that profile
rel navigate https://rel.me/proxy-test --profile Research

In REL, choose Settings → General → Install Command Line. This example uses an Oxylabs Self-Service Dedicated ISP subscription. REL Free includes one proxy and one custom profile. Replace the proxy user credentials before running it.

CLI setup and guide

Features

Profiles define your setup. Tab Groups keep related pages together. Your scripts and agents work in the same Chromium browser you see.

  1. Stay in the same browser

    Watch an agent work, step in when it needs you, and hand control back. Your browser sessions stay visible on your Mac.

  2. Organize work with Tab Groups

    Tabs in a group share cookies, storage, proxy, and browser identity. Separate groups keep that state isolated, so different accounts and workflows can run side by side.

  3. Act through Chromium

    Click, type, scroll, and navigate with native browser input. Agents use the same controls you see on the page.

  4. Choose a route for each Tab Group

    Assign a proxy when a Tab Group is created. Every tab in the group uses that route and identity. Pause the group to cut its network access instantly.

  5. Make the page useful to a model

    Read rendered HTML or Markdown, inspect semantic structure, capture pixels, or combine structure and screenshots in one observation.

  6. Save a setup. Use it again.

    Save your proxy, viewport, browser identity, and filtering choices in a profile. Open new tabs with that setup, or create a separate Tab Group when you need fresh state.

  7. Spend less on proxy traffic

    Block ads, trackers, or heavy images with per-session bandwidth controls. Keep more of your metered traffic for the content you need.

  8. Put recurring work on a schedule

    Choose a profile and model, write a prompt, and set a schedule. Give recurring research and browser tasks a place to run.

Test Results

Recorded checks for session isolation, browser identity, and network behavior. Each result belongs to a specific tested build.

Recorded Chromium 151.0.7922.76
Recorded REL development-build validation results, September 2, 2026
CheckWhat was testedResult
Session isolation100 alternating actions across 2 profiled sessions and 1 native session. Passed
Canvas & WebGLDistinct profile output with coherent graphics in page and worker contexts. Passed
DNS & WebRTCDistinct DNS routes. No WebRTC route leaks observed; proxy failure closes the route. Passed
Audio identityDistinct audio output per profile, within tolerance, with native-session behavior preserved. Passed
PermissionsAllowed, denied, and unset permissions checked, including isolation between sessions. Passed
Renderer restartSession identity and WebRTC policy remain coherent after the renderer restarts. Passed
Performance check

+1.88% median navigation time and +0.68 MiB per browser with browser identity enabled versus native behavior, using the same four-profile workload.

Tested in RELDebug on macOS with 50 navigation samples per stage. These are development-build results, not a certification of the current download. Chromium 152 validation is pending.

Download the recorded results

Pricing

Start free with one focused workflow. Move to Pro when you need more sessions, profiles, and scheduled work.

REL

Get started

Free

Everything you need for one focused browser workflow.

  • One open browser session
  • One scheduled prompt
  • One custom profile
  • One model provider
  • One proxy
  • CLI, MCP, RPC, and Rust SDK access
Download REL

REL Pro

More room

$3.99/ month

Remove the one-item limits when your work needs more room.

  • Multiple open browser sessions
  • Multiple scheduled prompts
  • Multiple custom profiles
  • Multiple model providers
  • Multiple proxies
  • CLI, MCP, RPC, and Rust SDK access
Get REL Pro

Already have a license key? Activate it in REL → Settings → Plan. Compare plans ↗