
Agent Browser Google Chrome Linux
Automate real Google Chrome on Linux with the user’s logged-in session when headless bots cannot pass MFA, CAPTCHA, or OAuth.
Install
npx skills add https://github.com/iamriajul/agent-browser-google-chrome-linux --skill agent-browser-google-chrome-linuxWhat is this skill?
- Uses npm global agent-browser against the user’s Chrome profile—explicitly avoids agent-browser install’s empty Chromium
- Loads live workflow docs via agent-browser skills get core (--full for command reference)
- Targets Linux CDP / remote debugging for sites that block automated sign-in
- Profile-copy workflow so automation keeps authenticated sessions instead of landing on login walls
Adoption & trust: 1 installs on skills.sh; 0/3 security scanners passed (skills.sh audits).
Recommended Skills
Agent Browservercel-labs/agent-browser
Lark Imlarksuite/cli
Lark Calendarlarksuite/cli
Lark Sheetslarksuite/cli
Lark Vclarksuite/cli
Lark Contactlarksuite/cli
Journey fit
Primary fit
Browser control and site automation happen while wiring product features and external services, not at idea or launch copy stage. Integrations shelf fits connecting agents to live websites and CDP-backed Chrome rather than pure UI or backend-only APIs.
Common Questions / FAQ
Is Agent Browser Google Chrome Linux safe to install?
skills.sh reports 0 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Agent Browser Google Chrome Linux
# Controlling a User's Authenticated Chrome via agent-browser (Linux) ## agent-browser Install once if not present: ```bash npm i -g agent-browser ``` Do **not** run `agent-browser install` — that downloads a testing Chromium with no user session, which defeats the purpose of this skill. Before running any agent-browser commands, load the actual workflow content from the CLI: ```bash agent-browser skills get core # workflows, common patterns, troubleshooting agent-browser skills get core --full # include full command reference and templates ``` The CLI serves skill content that always matches the installed version, so instructions never go stale. ## The Core Constraint Chrome refuses remote debugging on the default user-data-dir (`~/.config/google-chrome`) for security. You'll see this error in `/tmp/chrome.log`: ``` DevTools remote debugging requires a non-default data directory. Specify this using --user-data-dir. ``` **The fix:** copy the user's profile to a non-default dir, kill all Chrome, launch from the copy with the debug port, connect agent-browser via CDP. ## Step 0: Find the Right DISPLAY Everyone's Linux setup is different. Before launching Chrome, find the X display where the user's desktop session is running: ```bash # Option A: check what the user's shell already has echo $DISPLAY # Option B: scan running processes for an X display ps aux | grep -oP 'DISPLAY=\S+' | sort -u # Option C: list /tmp/.X11-unix sockets (each one is a display) ls /tmp/.X11-unix/ # X0 → :0, X1 → :1, etc. # Option D: look at who's logged into the X session who | grep '(:[0-9]' ``` Common values are `:0`, `:1`, or `:10`. Use whatever you find — substitute it for `DISPLAY=:1` in the recipe below. If you're in a Kasm/VNC environment, `:1` is typical, but verify first. If `echo $DISPLAY` returns something, that's the right one. If it's empty, you're likely in an SSH session without X forwarding — look at the X11-unix sockets or check with the user. ## The Recipe (run in order, every time) Before going through the full setup, check if Chrome is already running with the debug port — if so, you can skip straight to connecting: ```bash # Quick check: is port 9222 already listening? curl -s -m 2 http://127.0.0.1:9222/json/version | head -2 ``` If that returns a `{"Browser": "Chrome/...` response, Chrome is already up with remote debugging enabled. Run the verification one-liner from the Verification section below — if you land on the target site (not a sign-in page), you're done, skip the rest of the recipe. If the port is not listening, or you land on a sign-in page, proceed with the full recipe: ```bash # 1. Kill ALL Chrome processes (any leftover holds the SingletonLock) pkill -9 -f 'google-chrome\|/opt/google/chrome/chrome' sleep 3 pgrep -af chrome | grep -v 'crashpad\|chrome-devtools\|grep' # confirm empty # 2. Verify the user's session is fresh in their profile ls -la ~/.config/google-chrome/Default/Cookies # check mtime is recent # 3. Copy profile to a non-default location, strip the lock files rm -rf /tmp/chrome-debug-profile cp -a ~/.config/google-chrome /tmp/chrome-debug-profile rm -f /t