I use a bunch of CLI coding agents — Claude Code, Codex CLI, pi, opencode, Gemini CLI, Kiro, Amp, Crush — and every one of them shipped its own headless Chromium that gets blocked by basic bot checks (navigator.webdriver, missing plugins, the usual headless fingerprints).
The fix itself isn't novel. Patched stealth Chromium has existed for years. The annoying part is wiring it into each agent — every one wants its config in a different file:
- Claude Code →
CLAUDE.md - Codex CLI / opencode →
AGENTS.md - Gemini CLI →
GEMINI.md - Kiro →
.kiro/steering/ - Amp / Crush → their own dotfiles
…and all of them need to point at the same browser binary.
So I spent a weekend writing a one-command installer that does the wiring:
git clone https://github.com/Blue-B/browser-harness-kit
cd browser-harness-kit
bash install.sh
It detects which of the 8 agents you have installed, writes the right rule file for each, and creates a shared ~/.playwright/cli.config.json so they all hit the same stealth Chromium through pi-playwright as the CLI runner.
Result
Every agent drives a real headed Chromium that passes:
-
navigator.webdrivercheck - plugin / mimeType length checks
-
window.chromeshape - full bot.sannysoft.com matrix
Screenshot of the pass matrix and verify output are in the README.
What it isn't
This repo is integration glue only. It does NOT bundle or redistribute:
- [CloakBrowser]https://www.reddit.com/r/SideProject/comments/1tgrmo3(https://github.com/CloakHQ/CloakBrowser) — the actual stealth Chromium build (linked, not bundled)
- Playwright + pi-playwright — the runner
- The 8 agents themselves — each lives at its own home
Just the wiring between them, so I don't have to redo it on every fresh box.
Why I'm sharing it
I wrote this for my own setup. After the third time pasting the same config snippets into a new machine I figured someone else would save a weekend.
- Repo: https://github.com/Blue-B/browser-harness-kit
- Tested on WSL2 + Ubuntu 24.04 + Node 22
- License: MIT
- Reddit discussion: https://www.reddit.com/r/SideProject/comments/1tgrmo3
Happy to take feedback, or PRs adding adapters for CLI agents I haven't covered. If your agent reads from yet another rule file, drop an issue.
Built by @Blue-B — find more side projects on my GitHub.
Top comments (0)