From 72916d3c790d1f295f85c9b5612885d90a1180da Mon Sep 17 00:00:00 2001 From: Vincent Date: Thu, 3 Sep 2026 19:44:19 +0200 Subject: [PATCH] Tell the M1 agent how to browse: m1-browse, not the Chrome extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Claude browser extension cannot work on M1 — it links to a single persistent interactive session, and the relay runs one-shot processes. It drives a real visible Chrome over CDP instead, so manual intervention over screen sharing still works and logins persist. --- CLAUDE.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 7d52477..86c4cbd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,3 +19,25 @@ and do not run builds or tests here. rsync, never an overwrite. Then `git log` / `git status` show what changed. - M1 is the git remote `m1`. If something truly must be committed from here, push it with `git push m1 main` — but prefer telling M1 to do it. + +### Browsing and testing on M1 + +M1 has **no working Claude browser extension** — that extension links to one +persistent interactive session and cannot attach to the relay's one-shot runs. +Use `m1-browse` instead. It drives a **real, visible Chrome** on M1 over the +DevTools protocol, so Vincent can screen-share in and click things himself when +something needs doing by hand; that profile keeps its own logins. + +``` +m1-browse open # navigate, prints title + final URL +m1-browse text [chars] # visible text of the current page +m1-browse html [chars] # page HTML +m1-browse screenshot [path] # PNG (default /tmp/m1-shot.png); add "full" for full page +m1-browse click +m1-browse type +m1-browse eval # run JS in the page, prints the result +m1-browse tabs # list open tabs +``` + +It starts Chrome itself if it is not running. To show Vincent a screenshot, take +one and say where it is — the M5 side fetches and displays it.