aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-11-14 09:15:15 +0000
committerIgor Soarez <igor@soarez.org>2026-11-14 09:15:34 +0000
commita76fbc3b9b82038ab44c04d6379cc2d45e5cecd8 (patch)
tree7cf7425cfbca05a99b42198f78ff3fcf1a6eb5d8 /README.md
parente18559a1240219b977ffc7da2076c09cd96d1dad (diff)
tabs: one window for every agent; inactive tabs take input; background off by defaultHEADmaster
Measured in Brave on 2026-11-14: an inactive tab takes trusted CDP clicks, key presses, text and mouse moves, and Page.captureScreenshot renders it live. Only mouseWheel hangs, waiting for a frame. The upstream guard that refused input to every hidden page was wrong for inactive tabs, and it is what made a window per session look necessary. - New sessions' tabs open inactive in the user's last focused window, in the session's tab group; a window is created only when none is open. - New groups start collapsed, unless their tab is the one showing, and expand when a tab in them is brought forward. Existing groups keep the user's setting. - Input is refused up front only in a minimized window (untested there). - chrome_scroll scrolls hidden pages by script instead of the wheel. - Focus emulation on attach, so blur-sensitive menus stay open. - Background mode is off by default. Calls still default to background; background:false or chrome_tab activate brings a tab forward. - Agent guidance, tool descriptions and docs say so.
Diffstat (limited to 'README.md')
-rw-r--r--README.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/README.md b/README.md
index ba81f0b..24664cb 100644
--- a/README.md
+++ b/README.md
@@ -77,9 +77,9 @@ Run `/chrome revoke` when finished. Use `/chrome authorize` again whenever you w
## Safety
- **Per-session approval.** Pi's Chrome tools require `/chrome authorize`. `/chrome revoke` locks them and requests cleanup of that session's owned automation tabs. Cleanup preserves existing user tabs.
-- **Separate targets by default.** Page actions without an explicit target use a session-owned automation window or tab. The agent can deliberately target an existing tab when your task calls for it.
+- **Separate targets by default.** Page actions without an explicit target use a session-owned automation tab, opened inactive in your window inside the session's tab group (collapsed), or in a new window only when none is open. The agent can deliberately target an existing tab when your task calls for it.
- **Local transport, not a sandbox.** The bridge binds to `127.0.0.1:17318` and rejects browser-origin command requests. It does not authenticate arbitrary non-browser local callers; it is not protection against hostile processes on your machine.
-- **Background mode:** `/chrome background on` (default) blocks pi-chrome tools from directly bringing Chrome to the front or switching your selected tab. Use `/chrome background off` to allow those actions, and `/chrome background status` to check the setting.
+- **Background mode:** off by default (fork). Calls work in the background unless an agent passes `background:false` to bring its tab forward; inactive tabs take clicks, typing and screenshots without that. `/chrome background on` blocks bringing Chrome to the front or switching your selected tab outright; `/chrome background status` shows the setting.
### Limits