Practical overview
When it fits
Use Surf when an agent or script needs a command-line path to browser navigation and page interaction, or when a browser-hosted workflow needs to be controlled from another Tailnet machine.
Who it is for
- AI agent builders who need command-line browser control.
- Developers using shell scripts to automate browser interactions.
- Teams running a browser on one Tailnet machine and Surf’s CLI on another.
Documented uses
- Navigate a browser to a URL and inspect visible page content.
- Choose and click a page element using a reference from Surf’s output.
- Capture a browser snapshot for a subsequent agent action.
- Run browser-control commands from a separate Tailnet-connected client.
Requirements & limits
- The documented quick start requires installing the CLI, loading the extension in Chrome, installing the native host and restarting the browser.
- Surf documents support for Chrome and installation options for Chromium, Brave, Edge, Arc and Helium.
- The repository lists macOS, Linux and Windows as platforms and identifies the license as MIT.
- Remote use requires client authorization and a Surf credential in addition to Tailnet reachability.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Surf with Chrome
Set up the CLI, Chrome extension and native host, then check the browser connection.
Before you start
- npm
- Chrome
- The Surf repository and its extension files
Steps
Install the CLI with the command below.
npm install -g surf-cliOpen
chrome://extensions, enable Developer mode, choose Load unpacked, and select the extension path returned bysurf extension-path.Copy the extension ID from
chrome://extensionsand runsurf install.Restart Chrome and run
surf tab.list.
Expected outcome
The documented setup concludes with a command to list browser tabs.
Guide limitations
- This guide follows the README’s Chrome quick start; it does not establish results for a particular machine or browser configuration.
Navigate to a page and inspect it
Use Surf commands to open a URL, read page content, click a referenced element and capture a snapshot.
Before you start
- Surf installed and connected to a supported browser
Steps
Run
surf go "https://example.com"to navigate to the page.Run
surf readto retrieve the accessibility tree and visible text.Use a reference returned by the page reading step with
surf click, as in the documented examplesurf click e5.Run
surf snapto capture a browser snapshot.
Expected outcome
The command sequence covers navigation, page inspection, a referenced click and snapshot capture.
Guide limitations
- The example reference
e5is illustrative; the appropriate element reference depends on the page output.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- nicobailon/surf-cli · Official homepage title · retained in its source language

