
Some time ago I came across a project on GitHub:ego-litea browser for AI Agent human-computer collaboration, specifically designed to solve the pain points of web automation for AI agents such as Claude Code / Codex / Cursor. It allows people and Agents to share the same login session without seizing each other’s tabs. I have used it for a while and found it very practical, so I would like to share it with you.
For this project, just remember a few key pieces of information:
- project:
ego-litethe AI Agent browser produced by Citro Labs, the Agent runs Web automation in an isolated workspace and directly reuses the real login state in your Chrome - Technology stack: JavaScript, warehouse MIT protocol, after installation it is a desktop browser +
ego-browsercommand line - Popularity: 18373 stars, actual measurement on the day of writing
- Iteration: The warehouse was established in April this year, v2.1.0 was released on October 16, and there were still submissions in the warehouse on the day of writing.
- Platform: macOS (Apple Silicon and Intel) and Windows have installation packages, and Linux is still on the roadmap
- Business: Free browser, no subscription; official follow-up with 31 real website tasks
playwright-cliWhen compared with other tools, it claims to be 47% to 63% faster. This kind of caliber cannot be verified, just listen to it. - Address: github.com/citrolabs/ego-lite
What it does is very simple,It can be summarized in one sentence:
ego-lite is a Chromium browser shared by humans and AI Agents. The Agent does the work of the browser in its own independent space. The login state, cookies, and extensions directly inherit your Chrome, but do not seize each other’s tabs. It can be used out of the box without complicated debugging of remote debugging protocols.

Core competencies, one by one
1. Space isolated work area (the core design)
Built-in independent and isolated Space space, each browser task opens an independent Space, your own browsing tab is in the main space, and the AI Agent runs automated tasks in the dedicated Space; multiple Agents can run multiple web page tasks in parallel without interfering with each other, and will not seize the page you are using, or randomly cut your windows. You can enter the Agent’s Space at any time to check the progress, take over operations, and handle manual verification scenarios such as verification codes and sliders.
2. Directly reuse your login status and cookies
Supports one-click import of all Chrome configurations: account password, cookies, login sessions, extensions, and bookmarks. When Agent performs web page operations, it directly inherits your logged-in status, without automatically logging in from the beginning, bypassing verification codes, and handling SSO every time. This is also the biggest advantage compared to Playwright/Browser-Use.
3. Native Agent calling ability ego-browser skill
No need to write complex CDP or webdriver scripts, Agent passes/ego-browserCommands are issued in natural language (filling out forms, grabbing pages, clicking, taking screenshots); the bottom layer is a native snapshot of the Chromium kernel instead of a JS injected shim, which can stably identify Shadow DOM, cross-domain iframes, third-party components, and many elements that traditional automation tools cannot catch; and perform page actions in batches, reducing the number of LLM tool calls, saving Tokens, and improving speed.
4. Data is retained locally
Browsing cookies, login information, and page content are all saved locally and are not uploaded to the cloud. There is no need to register an account. You only need to configure the model API Key yourself.
5. Can be used as a daily browser at the same time
The core is Chromium, and Chrome extensions, tab groups, incognito mode, and bookmarks are all compatible. Daily surfing and Agent automation can be completed in the same browser, without having to open Chrome + headless browser environments at the same time.
The core difference between ego-lite and traditional Chrome
Many people may have questions after reading the above. It seems thatego-liteIt seems to be just a browser, so what is the difference between it and the traditional Chrome browser? Don’t worry, I’ll use a table to help you figure it out.
| Comparative item | Chrome (legacy browser) | little ego |
|---|---|---|
| position | Priority forpeopleBrowse the Internet | Human-machine collaboration dual subjects: Taking into account people’s daily browsing + AI Agent automated operation |
| Automated way | There is no native Agent adaptation. For automation, you can only rely on Playwright/Puppeteer/Browser-Use to launch a new headless instance, which is a blank environment without your login cookie; or CDP remote debugging, which is easy to grab tabs and conflicts. | The bottom layer natively reserves the call entrance for Agent, and comes with the ego-browser skill. There is no need to start a headless instance separately; the current browser configuration and login status are reused. |
| task isolation | Without a built-in isolation mechanism, script automation can easily contaminate the tab you are browsing, causing multiple automated tasks to fight with each other. | Space mechanism, Agent tasks are independently isolated, multi-tasks can run in parallel without interfering with each other, and the browsing environment of human and Agent is separated. |
| element capture | Automation relies on JS selector injection, Shadow DOM and iframe often fail to be recognized | The kernel layer takes semantic snapshots and directly reads the page DOM, making it more compatible with complex front-end components. |
| cost of use | Automation requires writing a lot of scripts, maintaining selectors, and processing login status | Agent directly delivers web page tasks in natural language, with zero configuration and extremely low start-up cost. |
To add a word of core difference: Chrome isFor human use, automation is a plug-in capability;ego-lite isDesigned from the bottom up: a browser shared by people and AI Agents。
Why do test takers need it?
Having been doing web automation for so many years, the script itself has long been no longer a difficulty. What often gets stuck is the first step, logging in. The company’s internal system is all SSO, jumps to seven or eight levels, plus SMS verification code, code scanning, and risk control slider. Playwright’s storageState The solution can save the login status, but the server token becomes invalid as soon as it is rotated, and the test account is locked by risk control every three days. Function verification takes five minutes, and login environment maintenance takes two hours.
Therefore, the verification of a large number of internal systems has so far relied on human flesh. I open more than a dozen backends every morning to check service status, check data, and check configurations. If I want to automate things, the only thing standing in my way is logging in.

On the other hand, some people now directly assign this kind of work to AI Agent and hook it up to Claude Code. playwright-mcp or chrome-devtools-mcpand let it drive the browser. The problems are concentrated in three places. What is usually launched is a brand new blank instance with no login status, so you still have to wait for login first; every click is a tool call, the context is reissued every round, and the token burns quickly; either the process is headless, or the Agent is squeezed into the same window as you, and you have to stop as soon as it moves.
Ego-lite removes half of the blocking points at each end. The login state is inherited, and the Agent uses the real session to work; the execution is put into Space, so it can be seen and controlled.
ego-lite VS Playwright/Browser-Use (traditional automation framework)
Playwright, Browser-Use essentiallyAutomation SDK librarycode call is required to launch an independent headless browser process; ego-lite isBrowser dockcomes with a runtime that can be called by the Agent.
- Playwright: Every time you start a new clean browser context, there is no login state, it is easy to trigger risk control and verification codes; it relies on CSS selectors, and the script will hang directly when the front-end style is changed; suitable for stable CI pipelines and standardized E2E regression.
- ego-lite: reuses real browser fingerprints and login status, suitable for exploratory testing, background page verification, AI Agent web page evaluation, and manual + Agent collaborative testing; there is no need to maintain a large number of stable selectors, and the cost of complex login systems is extremely low;Not a replacement for Playwright, but a complement。
To summarize in one sentence: Chrome is a browser for humans, and automation is an additional feature; Playwright is a script-driven headless browser; ego-lite is a browser specifically designed for AI Agents to share with you.
Installation and quick start
Method one, download the app directly.
macOS has two DMGs, Apple Silicon and Intel, Windows has exe, the official website homepage (https://lite.ego.app/) is there.

When you start it for the first time, it will ask you whether to migrate Chrome data. Click Agree. After the onboarding is completed, ego-browser The command is registered in PATH, usually in ~/.local/bin。
Method two, only install skills.
npx skills add citrolabs/ego-lite
The first time you run the browser task it will guide you to install the app.
Method 3: Let the Agent install it himself. Paste this paragraph directly into Claude Code and let it work as in the README.
Set up ego lite for me:
Read `skills/ego-browser/references/install.md` and follow the steps to install ego lite.
Verify after installation.
command -v ego-browser
ego-browser nodejs -e "console.log('ego-browser ready')"
type ego-browser ready That’s it. Windows has a pitfall that is specifically reminded in the documentation. PATH does not take effect until you open a new terminal.
There are two details to follow Claude Code. To use Code mode, Cowork mode /ego-browser It will not appear; it is recommended to open bypass permissions for permissions. On the desktop, select it in the permission selector next to the input box. On the terminal, use claude --dangerously-skip-permissions start up. The reason is very simple, the Agent must be able to start the browser process by itself.
Then you can dispatch the work.
/ego-browser 打开 github.com/anthropics/claude-code 的 issues,把最近 10 条的标题、标签、回复数整理成表格给我
Agent opens Space by himself, writes the above code by himself, and sorts out the results by himself. During the process, you can click on Space to watch it operate. When you encounter the verification code, you can directly take over. When you are done, tell it to continue.
Or enter the following command to call ego-browser:
/ego-browser
打开我们后台用户管理页面,查询id=1001的用户,检查用户状态是否正常,截图保存页面,提取页面上的手机号、创建时间信息。遇到验证码停下来交给我处理。
After execution, ego-lite will automatically open a new independent Space and open the page to perform operations.Does not touch the tab you are currently browsing. After the execution is completed, the Agent returns the extraction results and screenshots; if a slider verification code appears midway, the task will be automatically suspended and you will be notified to switch to the corresponding Space to manually complete the verification, and then continue execution.
You can also use it to perform web tasks such as form automation, page inspection, and data export.
From zero to running, download the app, migrate the data, and dispatch the work in one sentence, just three steps.
How does Agent work in there?
The entire process is connected by a skill. After installing ego-lite,ego-browser This skill is enough ~/.claude/skillsthe skill directories of other Agents will also be written. You type in Claude Code /ego-browser Add a task description, the Agent reads skill, and runs it first. ego-browser skill Grab the instruction manual and get to work.
The bottom layer looks like this. A heredoc is given to Node.js to run. The browser capabilities are pre-injected in the form of functions without import.
ego-browser nodejs <<'EOF'
const task = await useOrCreateTaskSpace('search github issues')
await openOrReuseTab(' { wait: true, timeout: 20 })
cliLog(await snapshotText())
EOF
useOrCreateTaskSpace Open the task space,openOrReuseTab Open the page,snapshotText Type the page into structured text. The agent reads the snapshot and then writes the next step.
await click('@21', { label: 'check the login state' })
await fillInput('@2', 'user@test.com')
@21 This number is only valid for the latest snapshot. Once the page changes, it must be retaken. Use it if you want to refer to it across steps. loc= Selector or write CSS directly.
When to choose ego-lite and when to use Playwright?
✅ Choose ego-lite:
- Conduct AI Agent web page interaction evaluation and Harness task verification
- Internal backend, enterprise SaaS, complex login, 2FA, risk control verification
- It requires humans and agents to alternately take over the page and adjust it while watching.
- Don’t want to spend a lot of effort maintaining login scripts, account pools, and complex selectors
✅ Keep using Playwright:
- Pipeline CI, large-scale stable E2E return
- No login, public pages, standardized business processes
- Requires containerization and cluster batch execution of test cases
write at the end
At the end of writing, many students doing AI testing and Agent evaluation are stuck at the same stuck point: Our Agent has the ability to understand natural language, but it is difficult to interact with the real web system stably and at low cost.
The cleverness of the ego-lite project is not to create a new set of automated syntax, but to change the way of thinking:No longer let the automation process become an isolated, clean, headless instance that is easy to be intercepted by risk control. Instead, let the Agent serve as your collaboration partner, reuse your real and trusted browser session, and complete testing, inspection, and page verification in an isolated space.。
Whether the tool can be used or not depends on the work the team is doing, but there are two perspectives that I think are more valuable than the tool itself.
The login state is originally a test asset. The real sessions you use every day are more than any test account and export storageState All fresh and reliable. Even if you don’t install ego-lite, when building your own framework, it’s worth thinking about how to let automation directly access the real login status. The man-hours saved on login maintenance will be a net profit.
The perspective of execution is also universal. Let the Agent write a program and run it at a time. Compared with typing and watching each step, the cost is several times worse. When evaluating any agent tool in the future, first look at which path it takes.
There’s no need to force it if it’s not suitable, but learning these two new perspectives is worth more than installing another browser.
But it is worth mentioning that, like the Keploy, Promptfoo, DeepEval, and Langfuse tools we shared earlier, it is a valuable piece of the puzzle in the AI testing engineering link. In the future, in our enterprise-level one-stop intelligent testing platform project, ego-lite will also be included as an optional base for Web Agent evaluation, opening up a complete link of Agent task scheduling, page execution, result assertion, and report output.
The project address is here, if you are interested, you can read it yourself.
GitHub: github.com/citrolabs/ego-lite
Official website: lite.ego.app