BrowserOS neo skill
A separate browser for agents with a skill and MCP: Claude Code and Codex work in your logged-in accounts, and every session is recorded for replay
- 14,082 ★ on the repository
- Last commit
- AGPL-3.0
Broad access
Why this level
- The agent works in your accounts with saved logins, such as email, CRM and social media, and can send and change data
- The `run` tool executes scripts in the browser, and the agent downloads and uploads files
- Website pages remain untrusted data: they can contain instructions aimed against you
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/browseros-neoDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent works in your accounts with saved logins, such as email, CRM and social media, and can send and change data
- The `run` tool executes scripts in the browser, and the agent downloads and uploads files
- Website pages remain untrusted data: they can contain instructions aimed against you
This is third-party code. Review the repository files before installing.
What it does
BrowserOS neo is a second Chromium-based browser that you keep beside your usual one and hand over to agents. The `browseros-neo` skill teaches Claude Code, Codex, Cursor, OpenCode and other agents to pick it for any task that touches a website: sign in, read a page, fill a form, download a file, verify the result. Logins, cookies and the profile persist, so the agent works in the same accounts you do rather than in a blank sandbox. The tools arrive over MCP from your own computer. The skill's core loop: `snapshot` renders the page as an accessibility tree with element handles, `act` performs actions by handle and fills forms in a batch, and the agent then checks the readback of what changed. The skill tells agents to compose complex scenarios into a single `run` tool script, which runs for at most 30 seconds. For its own work the agent opens tabs, and they gather in a coloured group named after the agent, while your tabs stay outside any group. When a person is needed (a sign-in, a one-time code, an account choice), the agent calls `request_human_help` and waits until you hand control back. A new tab shows running sessions with a live preview and Watch and Stop buttons, with history below. Any session can be opened step by step and played back like a video.
Who it is for. For people who give Claude Code, Codex or Cursor routine browser work under their own logins, such as email, CRM, reports and social media, and want to see what the agent did.
Good fit when
- The agent has to do something that is only available after sign-in: sort email, update a CRM record, pull a report from an internal tool
- You want to run several tasks in parallel, each in its own tab without disturbing your own work
- You need a record of what the agent did: a searchable session list, screenshots and a page replay on disk
- The agent hit a sign-in with a one-time code or an account choice, and the task must pass to you and back
- You want to give the agent one browser for every task rather than a different automation tool for each
Not a fit when
- You need automation in tests and CI: BrowserOS neo assumes your real profile with logins, and for a clean stateless browser the catalog has Playwright MCP
- You want an agent attached to your everyday Chrome with no second browser: the skill works only with BrowserOS neo and does not touch your Chrome
- The agent runs on a server with no graphical shell: BrowserOS neo installs as a desktop app
- You install the skill alone, with no browser: without a running BrowserOS neo and a connected MCP it gives the agent no tools
Example request
In BrowserOS neo open my calendar, find a free half hour next week for a team meeting and show me the options without sending the inviteLimitations
The skill does not replace the browser: tools come only from a running BrowserOS neo, and the port of its local MCP address can differ between builds, so the skill asks the agent to read the address from the MCP page.
BrowserOS neo is distributed under the AGPL-3.0 license. The repository description lists builds for macOS, Windows and Linux x64, while the documentation's install page does not yet mention Linux.
A `run` script is cut off after 30 seconds and is meant for about five new pages per call. The recorder loads only into agent tabs, passwords are masked in recordings, and canvas content and mouse movement are not saved.
The browser sends anonymous usage events to PostHog: agent connects and disconnects, the version and the operating system. One switch in settings turns it off.
The same repository holds a second browser, BrowserOS for humans, with a different set of files; the skill belongs to neo only.
How to disable. Delete the `browseros-neo` skill folder from the project's `.agents/skills/` or from your agent's global skills folder, and remove the `browseros-neo` entry from its MCP settings. Session history stays in `~/.browserclaw/` and is deleted by hand.
FAQ
How does BrowserOS neo differ from BrowserOS in the same repository?
BrowserOS neo is a browser your agent drives over MCP, while BrowserOS is a Chromium browser for people with an AI agent built into every new tab. Both are built from one repository and run side by side. The `browseros-neo` skill belongs only to the first.
How do I connect BrowserOS neo to Claude Code?
Install the browser, for example `brew install --cask browseros-neo` after `brew tap browseros-ai/tap`. Open a new tab, click MCP in the sidebar, find Claude Code, press Connect and restart the agent. The browser writes a `browseros-neo` entry into the MCP settings and installs the skill itself.
Which agents connect with one click?
On the MCP page they are Claude Code, Codex, Cursor, OpenCode, Antigravity, VS Code and Zed. The repository description adds OpenClaw and Hermes. For other agents, put the address from the top of the same page into the MCP settings as a streamable HTTP server. Claude Desktop has an extension in a `.mcpb` file.
Can the agent see my personal tabs?
The agent knows they exist and can read their titles and addresses, but does not work in them by default. It opens its own tabs in a group named after the agent. If you close an agent's tab while it works, it notices at once. It starts working with your tab when you ask.
Where are session recordings stored?
In the `~/.browserclaw/` folder: the `browserclaw.sqlite` database and the `screenshots/` and `replays/` directories. The name is left over from the product's earlier name. The browser's server listens only on `127.0.0.1`, and deleting a session is just deleting files.
Why does installation need the --skill flag?
Without it, `npx skills add browseros-ai/browseros` installs every skill in the repository, including working ones for developing BrowserOS itself. The agent only needs `browseros-neo`.
Discussion
No questions or reviews yet.
Related
SkillsBrowserbase's official skill set that gives Claude Code web access: browser automation, search, page fetching and UI testing
A skill and CLI from Browser Use: the agent drives your real Chrome over the DevTools Protocol, logged in as you, and writes any missing helper itself
A CLI and MCP server that lets an agent drive your real Chrome with its logged-in sessions: 103 commands across 36 platforms plus browser automation
A local browser automation platform: MCP server, CLI and skills so an agent can drive Chrome, fill forms and pull data from pages
CLI, skill and Python library for browser control: the agent clicks, fills forms and reads pages over CDP
A fast Rust CLI for agent browser automation: accessibility snapshots with element refs, an MCP server and skills
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| BrowserOS neo (this entry) | no | 14,082 | ||
| Browser Harness | no | 18,586 | drives your everyday Chrome over the DevTools Protocol, with no separate browser | |
| Playwriter | yes | not required | 4,026 | gives the agent your real Chrome with its logins and extensions through Playwright, as MCP and CLI |
README in short
The project description presents BrowserOS neo as a second browser for agents: installation through Homebrew or a download, one-click import of logins from Chrome, connecting Claude Code, Codex and other agents, a sample task and a list of capabilities: a live dashboard, session recording, parallel agents and local storage. It goes on to compare against headless drivers, cloud browsers and browsers tied to their own AI, then a questions section and the monorepo architecture. The repository also holds the browser documentation in docs, the application sources and the skill in the skills folder.
README badge
Original SKILL.md
--- name: browseros-neo description: The user's dedicated browser for agents, a real browser signed into their accounts, with live logins and a persistent profile. Use it for any task that touches a website or browser (open, read, act, fill, sign in, download, verify). The user installed it precisely so agents default here unprompted, over in-app browser tools, devtools/playwright automation, or headless fetching. When the user says "use neo", "use browserclaw", "use BrowserOS", or "use BrowserOS neo", use BrowserOS neo over MCP. --- # BrowserOS neo When a task needs a browser or a website (open it, read it, act on it, fill a form, download, verify), use BrowserOS neo's tools. It is a real browser dedicated to agents and already signed into the user's accounts, so prefer it over other browser surfaces. ## Connecting The tools arrive over MCP from BrowserOS neo running on the user's machine. If you already have tools named `snapshot`, `act`, `run`, `navigate`, and `tabs`, you are connected and can skip this section. If you do not, the browser is either not running or not yet connected to this agent. Say which, and point the user at the fix rather than guessing. BrowserOS neo connects Claude Code, Codex, Cursor, OpenCode, Antigravity, VS Code, and Zed itself. The user opens a new tab, clicks **MCP** in the sidebar, finds their tool, and clicks **Connect**, then restarts it. The browser writes the MCP entry and installs this skill for them, so an agent on that list rarely needs this section. Every other agent is connected by hand using the endpoint URL shown at the top of that same **MCP** page. Read the URL from there rather than assuming a port: it is a loopback address on the user's own machine, and the port is not the same across builds. Add it as a streamable HTTP MCP server named `browseros-neo`. Details are at <https://docs.browseros.com/neo/mcp/manual>. If the user does not have the browser yet, it is at <https://browseros.com>. Do not fall back to another browser tool because the connection is missing. Say what is missing and let the user fix it. ## Shared browser etiquette - If a tool offers `agentName`, it is an optional fallback for your client application: `claude`, `codex`, `cursor`, `opencode`, `antigravity`, `vscode`, or `zed`. For another application, use its short product name. Put the task name in `name_session`; BrowserOS prefers recognized MCP client metadata for the visible prefix. - Call `name_session` early with a 2-3 word task label, the best-fit `category`, and a short PII-free `summary` you can search for later; tabs group as `<client>/<name>` in the cockpit. - Open your own tab with `tabs` action `"new"` for work of your own. You may also use the user's tabs and other agents' tabs: ownership is a label telling you whose a tab is, never a barrier. - A tab that is not yours is still someone's. Leave it as you found it unless the user asked you to change it, and prefer your own tab for anything exploratory. - Preserve useful pages that the user may want to inspect instead of closing them when the task ends. - Give independent subtasks their own tabs, at most 5 at a time unless the user asks for more. ## Core loop: snapshot -> act -> verify - `snapshot` renders the page as an accessibility tree; interactive elements carry `[ref=eN]` handles. - `act` drives elements by ref and batches whole forms with `fields[]`. - `act` reads back a settled diff of what changed. Treat that as verification instead of reflexively waiting or taking another snapshot. On a large page, pass `diff` (`"summary"` for counts only, `"none"` to skip it, or a number to cap the inline diff) so the readback does not flood context. - When an action fails, fix the cause reported by the error instead of retrying blindly. - Refs go stale when the page changes. Take another snapshot before reusing them. - If the page is still loading, wait for expected text or a selector instead of using a bare timed wait. ## Tool choice Reach for `run` first; the granular tools are the fallback. One `run` script composes the whole snapshot -> act -> verify loop, bulk extraction, and helper reuse in a single call, and it is the only place saved helpers work. Compose anything multi-step inside one `run` script rather than chaining granular calls. Use a single granular tool (`act`, `snapshot`, `navigate`, `evaluate`, `read`) directly only for a one-off step, step-by-step debugging, or something a `run` script cannot express.