by reliefeai
Let AI agents share your everyday, logged-in Chrome through a Skill + CLI — locally or across multiple machines.
# Add to your Claude Code skills
git clone https://github.com/reliefeai/browser-relayGuides for using ai agents skills like browser-relay.
Last scanned: 7/16/2026
{
"issues": [
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-07-16T06:18:49.237Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how browser-relay compares with popular alternatives.
browser-relay is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by reliefeai. Let AI agents share your everyday, logged-in Chrome through a Skill + CLI — locally or across multiple machines. It has 129 GitHub stars.
browser-relay returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/reliefeai/browser-relay" and add it to your Claude Code skills directory (see the Installation section above).
browser-relay is primarily written in JavaScript. It is open-source under reliefeai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh browser-relay against similar tools.
No comments yet. Be the first to share your thoughts!
Based on votes and bookmarks from developers who liked this skill
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Browser Relay lets an AI agent join the Chrome browser you already use through an agent-native Skill + CLI. It does not launch a blank automation profile, keep pulling another browser window to the foreground, or make you log in again. You and the agent work in the same everyday browser — locally or across multiple machines.
Use it when the task lives in a browser that already has the right login, extensions, device trust, or network access: operate your desktop browser from an agent on your phone, reach an internal system through the already-authenticated browser on your work computer, or let one agent work across browsers on several machines.
Most browser automation spins up a fresh, empty browser profile. That is fine for testing, but useless for agents that need your authenticated web apps — SaaS dashboards, admin panels, internal tools, documents, private sessions — where a headless browser or a fresh profile simply is not logged in.
Browser Relay is that missing layer:
127.0.0.1 by default.Based on chengyixu/openclaw-browser-relay, with auto-attach behavior inspired by blakesabatinelli/openclaw-chrome-relay. Repackaged as a general-purpose local browser bridge for AI agents, without the OpenClaw-specific gateway, token auth, or platform bindings.
Local
AI Agent ──Skill + CLI──▶ Relay server (Node, 127.0.0.1)
│ WebSocket
▼
Chrome extension ──chrome.debugger / CDP──▶ your Chrome tabs
Remote (Remote Relay)
AI Agent ──HTTPS──▶ public relay (relay.linso.ai) ◀──WSS── Chrome extension ──▶ your Chrome tabs
Local mode is the default: the agent talks to a relay server on 127.0.0.1, which forwards Chrome DevTools Protocol commands to the extension.
Remote mode exposes nothing. When you turn on Remote Relay, the extension connects out to a public relay service; a remote CLI reaches that same service, which routes each command down to your browser over the existing connection — no open ports, no local server on the network. Use the default hosted relay, or run your own on Cloudflare in one click (see below).
Use Browser Relay in four steps. You need desktop Chrome plus Node.js/npm. The Chrome extension is loaded manually from its installed directory.
npm install -g @linsoai/browser-relay
The package attempts to register a user-level background service. If your environment has no supported service manager, the verification step below gives the exact foreground command instead of failing with a stack trace.
Print the extension directory:
browser-relay path
Then open chrome://extensions, enable Developer mode, click Load unpacked, and select the extension directory printed by browser-relay path.
Run one complete read-only diagnosis, then list the attached tabs:
browser-relay doctor
browser-relay tabs
doctor should report a healthy relay and connected extension. tabs should print at least one tab ID, title, and URL:
t_A7k2Pm9QxL Example Domain https://example.com/
If doctor says the service manager is unavailable, start the relay in another terminal and keep it running:
browser-relay
Then retry browser-relay doctor. If the relay is healthy but no tabs appear, reload the unpacked extension and retry browser-relay tabs. doctor never installs, restarts, or changes anything; add --json for automation.
The global install uses launchd on macOS, systemd-user on Linux, and a current-user Task Scheduler task on Windows. The service starts when you sign in. The Windows task uses your existing interactive login token with least privilege: it does not store a password, elevate itself, or run as SYSTEM. Organization policy can still block standard-user task registration.
browser-relay install safely refreshes a Browser Relay-owned service definition, starts it, and verifies the HTTP endpoint and installed version. Run it after an nvm upgrade or when doctor recommends it. It refuses to overwrite a same-name Windows task without Browser Relay's ownership marker. If a managed environment has no usable service manager, foreground mode (browser-relay) remains available.
Upgrade with browser-relay update. It installs @linsoai/browser-relay@latest globally, attempts to refresh the service, and prints a status check; the extension reloads itself on its next relay reconnect (within about 30 seconds).
Browser Relay ships with an agent-friendly Skill. Choose the Agent explicitly so installation never opens an interactive selector:
browser-relay skill install --agent codex
# Claude Code, or both agents at once:
browser-relay skill install --agent claude-code
browser-relay skill install --agent codex claude-code
The command uses the standard skills CLI non-interactively, then reads every target SKILL.md back to verify it. Use --agent universal for agents that consume the standard ~/.agents/skills directory, browser-relay skill path to inspect the bundled source, or plain browser-relay skill to print an install command for all agents (--agent "*"). Printing the command does not install anything. After installation, your agent can operate your own browser without opening a separate automation browser.
Give the agent a small read-only task first:
Use Browser Relay to tell me the title and URL of my current Chrome tab. Do not navigate.
The first successful response proves the full path works: Agent Skill → CLI → relay → extension → your existing Chrome tab.
If Browser Relay solves a workflow you actually have, starring the repository helps other agent builders find it.
Version 1.5.0 adds complete content reading, managed tab sessions and explicit handoff. See the release notes and upgrade steps and implementation and validation. Development pushes do not publish npm packages; publication requires a manual workflow run with an explicit version and channel.
Version 1.5 also adds a persistent JavaScript runtime, accessibility references and
ordered action groups. Inspect with browser-relay observe --tab <id>, then
execute a known sequence with browser-relay actions --tab <id> --file actions.json.
One group runs inside the extension and returns the resulting state. Independent
tabs may run concurrently; groups on one tab are serialized and cancellable.
For scripts, use browser-relay exec --file workflow.js, or the MCP
browser_exec tool to retain variables between calls. MCP screenshots are image
content blocks. Visual click, drag and hover support screenshot coordinate
mapping; background semantic clicks preserve the user's foreground tab. Visual
mouse input reports needs_foreground when a visible tab is required.
See the runtime and SDK reference and [Codex comparison and measured results](docs/browser-use-comparis