Browser and computer use
Two optional tools let Syntic Code act outside your project folder:
- Browser drives a local Chrome or Chromium: open a page, read it, click, type and take screenshots.
- ComputerUse sees your screen and uses the mouse and keyboard, on macOS.
Both are off until you turn them on, and every single action asks for your permission. Use them when a task needs something only a real browser or a real app can show: checking a page renders after a CSS change, clicking through a sign-up flow, reproducing a bug in a native app.
To simply read a web page’s text, the agent uses WebFetch, which needs no setup. The Browser tool is for pages that must be rendered or clicked through.
Turn them on
Add the switches to your user settings file, ~/.syntic/settings.json:
{
"browserAutomation": { "enabled": true },
"computerUse": { "enabled": true }
}Turn on only the one you need. Restart the session, or start a new one, for the tools to appear.
Only your own settings (or your organization’s managed settings) can turn these on. A project’s .syntic/settings.json cannot, so a repository you clone can never hand the agent your browser or your mouse.
The Browser tool
Settings
Key under browserAutomation | Default | Meaning |
|---|---|---|
enabled | false | Offer the tool to the agent. |
chromePath | Found automatically | The Chrome or Chromium program to run, if it is somewhere unusual. |
userDataDir | A new temporary profile | A browser profile folder to use instead. Only set this if you want the agent to share logins with that profile. |
headless | false | Run without a window. By default you can watch what it does. |
What it can do
| Action | Does |
|---|---|
open | Starts the browser on first use and loads a URL. Waits up to 15 seconds for the page to load. |
read | Returns the page’s text (up to 40,000 characters). |
click | Clicks the element matching a CSS selector. |
type | Types text into the element matching a CSS selector. |
screenshot | Captures the page so the agent can look at it. |
close | Shuts the browser down. |
The browser starts with a fresh, empty profile in a temporary folder, so by default the agent sees none of your logins, cookies or history. It listens for the agent only on your own machine. It is stopped by close, when the session cleans up, or when Syntic Code exits.
Text read from a page is marked as untrusted web content. The agent treats it as data, not as instructions.
Example prompts
Start the dev server, open http://localhost:3000/signup in the browser,
fill in the form with test data and submit it. Screenshot the result
and tell me if anything looks broken.Open the pricing page in the browser and check that all three plan cards
have the same height after my CSS change. Take a screenshot.The ComputerUse tool
ComputerUse works on macOS only. On other systems the tool refuses with a message saying so.
What it can do
| Action | Does |
|---|---|
screenshot | Captures the main display. |
mouse_move | Moves the pointer to a point on the latest screenshot. |
left_click, right_click, double_click | Clicks at a point. |
scroll | Scrolls up, down, left or right by 1 to 20 lines (3 by default). |
type | Types text, up to 2,000 characters per action. |
key | Presses a key or a combination such as return, escape, cmd+c or cmd+shift+t. |
Screenshots are scaled down to at most 1,280 pixels wide before the model sees them. The agent points at what it saw in the screenshot, and the tool converts that back to real screen positions, so clicks land where expected on any display.
macOS permissions
The first time it acts, macOS needs to let your terminal app do two things. Open System Settings > Privacy & Security and turn on the app you run syntic in (Terminal, iTerm or another) under:
| Permission | Needed for |
|---|---|
| Screen Recording | Screenshots. |
| Accessibility | Mouse and keyboard. |
If one is missing, the tool stops with a message naming the setting to change. Restart the terminal app after granting it.
You always know when it is acting
The first action, and the first one after a quiet spell of ten minutes, posts a system notification: Syntic is controlling your computer. While actions are running, the session footer shows the same words. Press Esc in the terminal to stop the turn at any time.
Example prompts
Build the macOS app, launch it, open Preferences and check that the new
"Sync" toggle is there and can be switched on. Screenshot each step.In the simulator window, tap through the onboarding screens and tell me
which one has the clipped button text.Permissions and safety
Both tools are treated as the most sensitive kind of tool:
- Every action is a separate tool call, so in the default mode you approve each page load, click and keystroke.
- Auto mode still asks, unless an allow rule names the tool, for example
"allow": ["Browser"]. - Plan mode blocks them, because no action counts as read-only, not even a screenshot.
- A deny rule (
"deny": ["ComputerUse"]) removes the tool regardless of the setting.
Before allowing ComputerUse, close windows that show things you would not paste into a chat: a screenshot sends whatever is on screen to the model.
Do not add a blanket allow rule for ComputerUse on a machine with sensitive apps open. The agent can type and click anywhere your user account can.
Troubleshooting
| Problem | What to do |
|---|---|
| The agent says the tool is off | Check the enabled key is in ~/.syntic/settings.json, not a project settings file. Start a new session. |
| ”Could not start the browser” | Install Chrome or Chromium, or set browserAutomation.chromePath to the program. |
| A click or type reports no matching element | The page may still be loading or the selector changed. Ask the agent to read the page first or take a screenshot. |
| ComputerUse reports a missing permission | Grant Screen Recording and Accessibility to your terminal app, then restart it. |
| ”Computer use is available on macOS only” | That is the case today. Use the Browser tool for web pages on other systems. |