Surfaces

Chrome browser control

Roder can inspect, control, debug, and record the user's live Chrome session through a paired Manifest V3 extension. The browser extension connects toroder app-server --remote, then model-facing chrome_* tools andchrome/* app-server methods route through the same runtime policy gate.

Pairing

  1. Build and load the unpacked extension from the sibling Chrome extension workspace.
  2. Start roder app-server --remote or open the TUI /chrome panel.
  3. Paste the printed WebSocket URL and bearer token into the extension options page.
roder app-server --remote --listen ws://127.0.0.1:0
roder chrome status

Pairing uses the roder.remote.v1 and bearer.<token>WebSocket subprotocols. Without a paired extension, Chrome tools return a clear not-connected error instead of silently falling back to another browser.

Current tool surface

  • Tabs: list, open, activate, close, and navigate.
  • Page: snapshot, screenshot, click, type, keypress, scroll, select, highlight, and controlled eval.
  • Debugging: console and network metadata reads with redaction.
  • Permissions: per-origin inspect, interact, eval, debugger, download, upload, recording, and always-allow flags.
  • Recording: start and stop JSON action traces.
Security model. Cookies, request bodies, response bodies, secret-like form inputs, and raw auth headers are not captured. Page-origin payloads are marked untrusted and treated as data, never instructions.

Using Claude Code's Chrome integration

Roder also supports Claude Code's native Claude-in-Chrome browser tools forclaude-code/* turns. That path uses the Claude extension and your claude.ai subscription login rather than Roder's app-server pairing and chrome_*tools. See the Claude Code provider guide for setup, auto-detection, and auth behavior.