Stricter sandbox
Turn off evaluate_js and run_script 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. Those are off until you opt in
per-tool in Settings.
| Default | Where it runs | Toggle | |
|---|---|---|---|
| Browser tools (everything below) | ON | The active tab via CDP | Disable per-tool in Settings |
Host tools (bash, read_file, write_file, grep, glob, web_fetch) | OFF | Your machine, with your user privileges | Enable per-tool 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. |
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 a tab by index. |
| Tool | What it does |
|---|---|
evaluate_js | Run JavaScript in the page (top-level await works). For shadow-DOM walks, custom waits, structured extraction. |
run_script | Fetch a URL and execute the response as JS in the page (for one-off helpers, vendored snippets). |
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). |
Every browser tool 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 and run_script 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, run_script, 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.
If you only need a terminal coding agent, the GitHub Copilot CLI covers that case directly.