Simple capture
Same output model as curl: page data on stdout, capture events on stderr.
rel https://example.com > example.htmlGive agents visible, persistent Chromium sessions without handing over your everyday browser profile.

REL is a native macOS browser crafted for configurable, private Chromium sessions and deep integration with AI agents. Instead of wiring automation into a shared Chrome profile with DevTools or Playwright, every tab keeps its own browser identity, cookies, site data, cache, and network route.
Assign a different proxy to every session, pause requests, clear private or shared caches, filter images, and block ads with Brave-powered network rules—then let agents capture and control the same visible browser through the CLI, versioned local RPC API, or typed Rust client.
Control REL from agents, shell scripts, or local apps through its MCP server, bundled CLI, versioned local RPC API, and typed Rust SDK.
Every tab keeps its own request context, cookies, site data, service workers, storage, identity, and private HTTP cache.
Optionally reuse public images, fonts, stylesheets, scripts, and favicons across tabs—partitioned by network route and never mixed with private state.
Apply Brave-powered network rules before requests reach the renderer. Allow images, block every image, or filter assets over a per-session size limit.
Start with a real desktop Chromium identity, or set a coherent user agent, Client Hints, platform, seed, locale, timezone, and network profile.
Assign direct or authenticated routes per tab. REL keeps credentials out of Chromium and automatically manages sticky sessions and location parameters for supported providers.
Navigate, capture rendered HTML, attach pages, click, wait, and reuse the exact persistent browser session you can see.
Pause every request in a tab, resume in place, inspect live traffic, and trace session activity in native logs.
Open a Ghostty terminal inside any tab with REL_SESSION_ID already set, so CLI commands target the current browser by default.
Sessions persist until you close them. Delete one and REL removes its isolated browser data with it.
Same output model as curl: page data on stdout, capture events on stderr.
rel https://example.com > example.htmlGet a session ID for shell use, then navigate, act on, and capture the same visible tab.
session_id="$(rel session create --name Research --id-only)"
rel navigate https://rel.me --session-id="$session_id"
rel perform '[{"action":"wait-for","selector":"body"}]' --session-id="$session_id"
rel capture --session-id="$session_id" > rel.htmlLeave your email for release updates. If you already have an access code, use it to download the private macOS DMG.
Get a note when REL is ready for broader access.
Already have an access code? Use it to unlock the macOS DMG.