Hermes Agent · Tutorial 12
Set Up Hermes Browser Use Mode Safely
Choose a Hermes browser provider, verify Browser Use mode, protect private sessions, and test the setup on one bounded task.

0 of 1 complete
Reference guide · Read when needed · View the route
Hermes Browser Use mode gives the agent one browser_exec tool. The agent writes a short Python program that can navigate, click, type, extract data, and recover from simple failures in one run.
On a current Hermes installation, this mode is selected automatically when the Browser Use CLI can run, no browser backend has been forced, and the session has terminal access. If those conditions are not met, Hermes falls back to its built-in browser tools.

Choose the browser source
Browser Use is the driver. You still choose where the browser runs.
| Need | Start with | Trade-off |
|---|---|---|
| Use an existing local browser | Local Chromium through CDP | Shares the local machine and may expose signed-in sessions |
| Isolate a test from personal browsing | A separate local browser profile | Requires a clean profile and explicit login |
| Run remotely or on a schedule | Browser Use Cloud, Browserbase, or another supported cloud browser | Sends page content and actions to that provider |
| Fetch public pages without a full Chrome session | Firecrawl or Lightpanda, where the task fits | Some interactive sites will not behave like a full browser |
| Use Camofox | Built-in Hermes browser tools | Camofox has no CDP endpoint for the Browser Use driver |
Open hermes tools, select Browser Automation, and configure the provider you intend to use. Adding a provider key does not switch the provider by itself; select it in the tools configuration.
Verify the active mode
Start a fresh Hermes session and run:
/browser status
Confirm the browser source and whether Browser Use mode is active. Then give Hermes a read-only task with a visible success condition:
Open the official Hermes Browser Use documentation.
Return the names of the supported browser providers in a table.
Include the page URL. Do not sign in, download files, or submit forms.
The setup passes if the provider starts, Hermes returns the source URL, and the list matches the page. A confident answer without a URL is not enough.
Force Browser Use or turn it off
To force the driver in ~/.hermes/config.yaml:
browser:
backend: "browser-use"
To use the built-in browser tools instead:
/browser use off
Or set the backend explicitly:
browser:
backend: "off"
Restart the session after changing the configuration, then check /browser status again.
Use separate sessions for concurrent browser work
Current Hermes builds support named browser sessions:
browser_exec session=research
browser_exec session=admin
Each name gets separate Browser Use daemon state and, for a cloud provider, a separate cloud browser. Separation prevents two agents from clicking in the same tab. It does not make sensitive work safe by itself; each session still inherits the permissions and credentials of its browser source.
Compare it with the built-in tools
Run the same bounded task twice, once with Browser Use enabled and once with it off. Record:
- whether the result is correct;
- how many retries were needed;
- whether the source URL and relevant evidence were returned;
- whether a recording or audit log exists;
- the model and provider cost shown by your setup.
Use the mode that is more reliable for your actual sites. Vendor efficiency claims are useful hypotheses, not proof for your workload.
Troubleshooting
| Problem | Check |
|---|---|
| Hermes shows only built-in browser tools | Confirm the Browser Use CLI is runnable and the session has terminal access. |
| The wrong cloud provider opens | Select the provider in hermes tools; a saved API key alone does not select it. |
| A local browser will not connect | Start a supported Chromium browser with remote debugging, or use Hermes’ connect flow. |
| Two tasks interfere with each other | Give each task a different session= name. |
| A private URL is blocked | Do not weaken the boundary by default. Decide whether that domain and browser profile are safe first. |
| The task asks for approval-sensitive action | Stop before submission and hand control to the user. |