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
- Build and load the unpacked extension from the sibling Chrome extension workspace.
- Start
roder app-server --remoteor open the TUI/chromepanel. - 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 statusPairing 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.
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.