Simple capture
Open a URL in visible Chromium and save the rendered page to a file.
rel https://example.com > example.htmlREL is a native macOS browser with fully isolated and configurable Chromium sessions for use with agents, scripts or scheduled tasks. It can be a useful alternative to existing Browser Use environments that are restrictive. Every tab is an isolated browser session with its own proxy, profile, cache, and filtering. The browser footprint is fully customizable; not through JavaScript, the DevTools Protocol, or detectable page modifications, but through Chromium itself.

Each REL tab is a complete, persistent browser environment with its own storage, private cache, and network route. Start from a profile, then customize the session without affecting any other tab. Control that same visible browser from Chat, MCP, the bundled CLI, RPC v1, or the typed Rust client.
Each tab keeps its own cookies, site data, service workers, private cache, storage, and network route. Sessions stay open until you delete them, with no fixed count.
Run ordered click, wait, and link actions through the CLI, MCP, RPC v1, or Rust SDK. REL resolves the live page and dispatches native Chromium input, never injected JavaScript.
Pause stops the active load and blocks new network requests for that tab. Play reconnects it and reloads the page.
Allow all images, block them all, or filter files above a size you choose. The default size limit is 100 kB.
Block ads and trackers with EasyList, EasyPrivacy, Brave Specific, and Brave Unbreak. Apply the rules to one tab or the entire app.
Route each tab directly or through its own authenticated proxy. Credentials stay in Rust and macOS Keychain, and Oxylabs sticky sessions can rotate on demand.
Start with Direct, AdBlock, or BandwidthSaver. Session defaults set the proxy and filtering copied into each new tab without changing existing sessions.
Reuse eligible public assets across sessions without sharing cookies, site storage, or private cache. Shared entries stay partitioned by network route.
Keep Chromium's native identity or set a consistent app-wide user agent, platform, locale, timezone, seed, and network profile.
Open Ghostty from any tab with REL_SESSION_ID and REL_SESSION_URL ready for the bundled CLI.
Follow the REL window or pin exact desktop and mobile viewport sizes. Presets stay stable in visible and background tabs.
Inspect each session's append-only activity log without exposing it as another public API.
Closing a client connection cancels its navigation, waits, and actions without closing REL or the persistent browser session.
For a one-off capture, pass REL a URL and redirect the rendered page wherever you need it. Page data goes to standard output; progress stays on standard error, so shell pipelines work without extra parsing.
Create a session for multi-step work. Navigate it, run ordered actions, and capture the result from the same visible tab without handing the workflow to a second browser process.
Open a URL in visible Chromium and save the rendered page to a file.
rel https://example.com > example.htmlCreate one persistent session, interact with it, and capture the resulting page.
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.htmlConnect an MCP client to REL's bundled stdio server and control the same visible Chromium sessions you use in the app. Fourteen focused tools cover reading, navigation, observation-scoped actions, screenshots, persistent sessions, and proxies. Every call runs through the public Rust client and local RPC v1 API.
| Tool | Operation |
|---|---|
rel_status | Check the installed REL app, local agent, Browser Proxy, and Chromium bridge. |
rel_notifications | List notifications the user opted in to share as untrusted website content. |
rel_capture | Load a page, perform optional ordered actions, and save its rendered HTML. |
rel_page_attach | Attach an ephemeral automation page to a persistent browser session. |
rel_navigate | Navigate by URL, history, or reload and immediately observe the result. |
rel_read | Read a URL or current page as bounded, query-directed Markdown and links. |
rel_page_action | Perform one canonical action on an attached page and return rendered HTML. |
rel_take_screenshot | Capture a viewport or full-page PNG, JPEG, or WebP image. |
rel_observe | Read compact rendered semantics and an optional synchronized viewport image. |
rel_find | Search a stored observation for matching content or actionable refs. |
rel_action | Perform up to 32 ordered observation-scoped actions and return a fresh observation. |
rel_list_sessions | List persistent browser sessions and their canonical IDs. |
rel_close_session_group | Close every persistent browser session in a named group. |
rel_list_proxies | List configured proxy aliases and non-secret configuration. |
Use semantic Markdown for focused reading and research. For interaction, request a semantic, hybrid, or visual observation with typed element refs, viewport geometry, and an optional synchronized image. Take a standalone screenshot when only the rendered pixels matter.
Observation refs are bounded to the stored page state that created them. REL validates the observation, document sequence, and target before every action, then returns a fresh observation. Rendered HTML remains available as a saved file resource for capture and diagnostics.
| Representation | What the model receives | Best for |
|---|---|---|
HTMLRendered HTML | Rendered markup saved and returned as an MCP file resource. | Markup inspection and diagnostics. |
MDSemantic Markdown | Query-directed sections and links without action references or pixels. | Research, excerpts, and broad reading. |
SEMSemantic observation | Compact content, element roles and states, bounds, viewport geometry, and typed references. | Reading, extraction, and low-cost interaction. |
SEM + PNGHybrid observation | A semantic observation plus a synchronized current-viewport image. | Reference-based interaction with visual grounding. |
PNGVisual observation | Minimal page semantics plus a synchronized current-viewport image. | Canvas, charts, maps, and spatial inspection. |
PNG / JPEG / WEBPStandalone screenshot | A viewport or full-page image returned inline or saved as a file resource. | Pixel inspection and saved visual evidence. |
Leave 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.