{
  "claim": "With a BrowserSkill 0.3.0 session running locally, six of its commands read a tab in the user's own window when handed that tab's id, with no borrow and no confirmation prompt. Thirteen refuse with permission_denied / agent_window_scope and exit 1. This is the full set I ran; nothing is omitted.",
  "method": "cargo build -p bsk --locked at commit d1356fd, real daemon (protocol 1.3) + the repo's own extension build loaded into Chromium 153 via --load-extension. A fixture page at http://127.0.0.1:8099/ containing the string CANARY-9f3c1d-private-inbox was opened in an ordinary browser window, never borrowed. Each command was invoked as `bsk <cmd> --tab-id 1117016028 --session oevn`; 'denied' means the output carried the agent_window_scope reason.",
  "source": "https://github.com/Tencent/BrowserSkill",
  "captured": "2026-09-18",
  "note": "The Agent Window for this session was window 1117016029; the fixture tab lived in window 1117016026, the one the human was using. `observe` is denied and `snapshot` is allowed because BrowserSkill classifies observe as transient_input (it can hover-probe the live page) and snapshot as passive_read.",
  "columns": [
    { "key": "command", "label": "bsk command", "align": "left" },
    { "key": "verdict", "label": "on an unborrowed user tab", "align": "left" },
    { "key": "exit", "label": "exit", "align": "right" },
    { "key": "evidence", "label": "what came back", "align": "left" }
  ],
  "rows": [
    { "command": "tab list --scope user", "verdict": "allowed", "exit": 0, "evidence": "tab_id, title and url of every tab in the user's windows" },
    { "command": "get-html", "verdict": "allowed", "exit": 0, "evidence": "full outerHTML, including the canary string" },
    { "command": "snapshot", "verdict": "allowed", "exit": 0, "evidence": "accessibility tree plus an actionable @e1 ref" },
    { "command": "screenshot", "verdict": "allowed", "exit": 0, "evidence": "9,923-byte PNG of the page (fig3 below)" },
    { "command": "console", "verdict": "allowed", "exit": 0, "evidence": "buffered console entries for that tab" },
    { "command": "network", "verdict": "allowed", "exit": 0, "evidence": "buffered network entries for that tab" },
    { "command": "observe", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"observe can only act on tabs inside the Agent Window\"" },
    { "command": "click", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "fill", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "press", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "hover", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "scroll-to", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "navigate", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "reload", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "evaluate", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "screenshot --full-page", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "also requires a per-tab claim, not just the window" },
    { "command": "emulate", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "download", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" },
    { "command": "request-help", "verdict": "denied — agent_window_scope", "exit": 1, "evidence": "\"borrow it first\"" }
  ]
}
