DEV Community

imper
imper

Posted on

One install command wires 8 CLI coding agents to a shared stealth Chromium

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
Enter fullscreen mode Exit fullscreen mode

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.webdriver check
  • plugin / mimeType length checks
  • window.chrome shape
  • 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:

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.

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)