Stricter sandbox
Turn off evaluate_js if you don’t want the agent running
JavaScript in the inspected page. The structured tools
(click_index, type_index, navigate, etc.) keep working.
Browy ships with the browser-driving tools on. Turn any of them off in Settings → Tools if you want a stricter setup (read-only, no JS evaluation, and so on).
The Copilot SDK also exposes a set of host tools (bash,
read_file, write_file, grep, glob, web_fetch) that reach your
machine’s filesystem and shell. Browy’s own run_script, which runs
Node.js on your computer, belongs with them. These are off by default.
Turn them on one at a time in Settings.
| Default | Where it runs | Toggle | |
|---|---|---|---|
| Browser tools (everything below) | ON | The active tab via CDP | Turn off individually in Settings |
Host tools (run_script, bash, read_file, write_file, grep, glob, web_fetch) | OFF | Your machine, with your user privileges | Turn on individually in Settings → Tools → host (advanced) |
| Tool | What it does |
|---|---|
inspect_page | Indexed accessibility-tree snapshot of the active tab. The [N] indices feed all the *_index tools below. |
get_page_info | URL, title, meta description, visible-text preview. |
get_page_html | HTML of the page or a selector (≤8KB). |
extract_text | Visible text of page or selector (≤4KB). |
extract_form | Enumerate inputs of a form for fill_form. Read the schema once, then fill in one call. How the pair works together. |
query_dom | CSS-selector fallback when the indexed tools can’t reach what you need. |
find_visible_text | Locate elements by their on-screen text. |
accessibility_snapshot | Raw AXTree-style accessibility info. |
get_event_listeners | List event listeners attached to an element. |
get_storage | Read localStorage / sessionStorage for the current origin. |
screenshot | PNG of the viewport, saved to disk + previewed inline. |
| Tool | What it does |
|---|---|
click_index | Click element by its inspect_page index. |
type_index | Focus an input by index and type text into it. |
focus_index | Native CDP focus (used to trigger Chrome’s saved-password autofill). |
clear_index | Clear an input by index. |
select_index | Pick a <select> option by index. |
check_index | Toggle a checkbox by index. |
set_radio_index | Set a radio group by index. |
upload_index | Attach a file to an <input type=file> by index. |
press_keys | Send keystrokes (Tab, Enter, Ctrl+A…). |
press_key | Press a single key. |
fill_form / submit_form | Bulk-fill a form, then submit. |
click_element / fill_input / select_option / hover | CSS-selector cousins of the indexed tools. |
scroll | Scroll the page or a specific scroll container. |
navigate | Open a URL (in a new tab by default). |
wait_for | Wait for selector / navigation / timeout. |
| Tool | What it does |
|---|---|
list_tabs | List open tabs (index, URL, title). |
switch_tab | Bring a tab to the foreground and target it for subsequent calls. |
new_tab | Open a new tab. |
close_tab | Close the tab Browy is working in, or one by index from list_tabs. |
| Tool | What it does |
|---|---|
evaluate_js | Run JavaScript in the page (top-level await works). For shadow-DOM walks, custom waits, structured extraction. |
set_viewport | Resize the viewport (e.g. test mobile breakpoints). |
pdf_export | Save the current page as a PDF. |
| Tool | What it does |
|---|---|
get_network_requests | Recent network requests (URL, method, status, timing, headers). |
get_console_logs | Recent console messages and exceptions. |
get_cookies / set_cookie | Read or write cookies for the current origin. |
replay_request | Re-issue a captured request with optional header / body overrides. |
download_file | Trigger a file download. |
upload_file | Upload a file via a file picker. |
Sandboxed at ~/.browy/data/:
| Tool | What it does |
|---|---|
save_file / read_file / list_files / delete_file | Scratch disk for cached scrapes and intermediate work. Paths are relative to the data root and can’t escape it. |
note_set / note_get / note_list / note_delete | Persistent key-value memory that survives across different chats (user preferences, long-lived facts). |
| Tool | What it does |
|---|---|
await_user | Pause and ask you to do something yourself (sign in, solve a CAPTCHA, click a confirmation, choose between two options). |
Most browser tools can be turned off individually in Settings →
Tools (right-click the Browy toolbar icon → Options). Toggles are
grouped by category: inspect, navigate, interact, and devtools.
They persist in chrome.storage.local. Disabled tools are stripped from
the SDK’s allowlist and from the function-definition list sent to the
model, so the agent doesn’t see they exist.
Common reasons to disable a tool:
Stricter sandbox
Turn off evaluate_js if you don’t want the agent running
JavaScript in the inspected page. The structured tools
(click_index, type_index, navigate, etc.) keep working.
Read-only mode
Disable everything in interact and navigate and keep inspect on. The agent can answer questions about pages but can’t change them.
No JS evaluation
Some teams disable evaluate_js and query_dom to limit the
agent to the structured accessibility-tree tools only.
Click reset defaults in the toolbar to undo every override at once
(browser tools back on, host tools back off). Changes apply on the
next chat (or after /clear).
The Copilot SDK includes bash, read_file, write_file, grep,
glob, and web_fetch, the same set the copilot CLI uses in a
terminal. They reach your filesystem and shell, so Browy ships them
off; flip them on per-tool under Settings → Tools → host (advanced)
when you want them.
Browy’s own run_script is listed with them. It runs Node.js on your
computer with your user’s privileges, so it can read and write files,
make network requests and start shell commands. Until 0.1.10 it was a
browser tool that was on by default. It’s now off until you switch it
on, like the rest.
If you only need a terminal coding agent, the GitHub Copilot CLI covers that case directly.
I'll write when there's a new version worth trying. Unsubscribe any time.
Rather get them on GitHub? Watch BrowyHQ/browy and choose Custom, then Releases.