RolitRolit Docs
Rolit CLI

Browser and desktop tools

Let the Rolit agent drive Chrome or your desktop, and understand the safeguards.

Both families are off until you enable them, and both load on demand through tool_search. Enable with /browser on or /computer on, then start a new chat session. Bare /browser or /computer opens a panel with both toggles.

Browser (browser.*)

The agent drives your real Chrome with your existing profile, logins, and tabs. Treat any action on a signed-in page as having real consequences.

Set up Chrome

  1. Use Chrome 144 or later.
  2. Open chrome://inspect/#remote-debugging and enable remote debugging.
  3. Allow the connection when Chrome prompts.

Rolit attaches to your existing profile and opens its own blank tab. It never creates, copies, or deletes a profile. If setup is needed, an approved control call opens the Remote Debugging page and waits up to 60 seconds for you to enable it.

VariableUse
ROLIT_BROWSER_USER_DATA_DIRAbsolute path to another Chrome user-data directory
ROLIT_BROWSER_DEBUGGING_PORTThe port Chrome shows, if discovery fails

Tools

ToolWhat it doesTier
browser.navigateOpens a url. Returns final URL, title, and readiness.Navigation
browser.clickClicks by selector or x/y. Checks visibility and that nothing covers the target.Control
browser.typeReplaces an input's value; append and pressEnter available.Control
browser.hover, browser.scroll, browser.press_keyPointer, scrolling, and keyboard input.Control
browser.formSelects, checks, appends, clears, or inspects form fields.Control (inspect: Command)
browser.uploadSets files on a file input. Credential paths are refused.Control
browser.dialogReads, accepts, or dismisses JavaScript dialogs.Control (read: Command)
browser.downloadsCaptures and tracks downloads into the workspace.Control
browser.execute_jsRuns an expression. Result capped at 5,000 characters. Never retried after a lost connection.Control
browser.tabsLists, opens, selects, or closes tabs (up to 50). Only tabs Rolit owns can be closed.Control (list: Command)
browser.get_contentReads page text and an element inventory. Text defaults to 3,000 characters (max 5,000); elements default to 40 (max 120).Command
browser.screenshotSaves a PNG under .rolit/browser.Command
browser.wait_forWaits for an element, text, URL, form state, or navigation. A timeout returns found: false.Command
browser.diagnosticsConsole errors, failed requests, and timings; can record a performance trace.Command
browser.networkBounded request summaries with redacted response text.Command
browser.frames, browser.metrics, browser.artifactsFrame list, counters, and saved screenshots and traces (list or delete).Command
browser.resetDisconnects Rolit and releases input. Chrome, tabs, and cookies stay.Control

Selectors use CSS. An ambiguous selector fails rather than clicking the wrong element. Screenshots are opt-in per action (screenshot: true).

Approval

Inspection calls are the Command tier. Navigation is allowed in auto and asks otherwise. Anything that changes the page asks in cautious and edits, is allowed in auto interactively, and is denied in plan-only and non-interactive sessions. Subagents can't hold browser navigation or control tools.

While the agent drives a tab

  • The tab shows a frame, a "Rolit is controlling the browser" badge with live action status, and click ripples.
  • Your own input on that tab is blocked so the page can't shift under the agent.
  • Press Esc three times within 1.5 seconds to take the tab back. The lock also lapses about five minutes after the last browser call.

Privacy

Traces can contain page data and URLs. Diagnostics omit request bodies and headers and strip query strings from error URLs. Saved screenshots and traces stay under .rolit/browser until deleted with browser.artifacts.

Desktop (computer.*)

Controls any application on your computer. It is off by default. Screenshots can capture anything visible, so every call goes through your approval mode.

ToolWhat it does
computer.screenshotCaptures a display (displayId optional) and reports all displays and bounds.
computer.moveMoves the pointer to x, y.
computer.clickClicks at x, y; button and clicks optional.
computer.dragDrags between two points.
computer.scrollScrolls at a point; positive is down or right.
computer.typeClicks a control, then types up to 20,000 characters.
computer.keyClicks a target, then presses a key or shortcut.

All are the Desktop control tier. After each action Rolit attaches a screenshot for the agent. Coordinates outside connected displays are rejected before any input is sent. Your operating system may ask for Screen Recording and Accessibility permission the first time.

Shift+Tab toggles session-wide Auto, which skips prompts for browser and desktop actions in an interactive session. plan-only, JSON, and piped sessions ignore it.

On this page