Guide

5dive browser

A real Chrome for your AI agents, on your own server. Sign in to a site once by hand; the agent uses that session, never your password, and asks you before it pays. It works with agents on Claude Code and the 5dive CLI.

Open source (Apache 2.0) at 5dive-ai/5dive-browser. Commands last checked October 2026.

01

Overview

Your agent often needs your accounts: what is waiting in an inbox, a form behind a login, an export from a dashboard. 5dive browser gives it those accounts without giving it your passwords.

  1. You sign in once, by hand. Chrome runs on your server, and you reach its window over VNC through SSH. The session is saved in a profile on the box.
  2. Your agent uses the session. It opens the page signed in as you. It never sees the password.
  3. The next run is still signed in. No new sign-in, for as long as the site keeps you signed in.

A robot check (a CAPTCHA, an “unusual activity” page) stops the run and hands the window to you. Before a step that pays, the agent asks you first.

02

Install

You need a Debian or Ubuntu server with a sudo user, and your own Claude or OpenAI subscription or API key. It is tested on a fresh Ubuntu 24.04 server with 2 vCPU and 4 GB of memory.

bash
curl -fsSL https://install.5dive.ai | sudo bash
sudo 5dive plugin add 5dive-ai/5dive-browser
sudo 5dive browser setup   # installs Chrome, a virtual screen, VNC and Node 22
sudo 5dive init            # your first agent; run it AFTER setup so the agent gets a browser

browser setup installs only what the box is missing, one numbered step at a time, and names each install as it runs. Agents you create after it get a browser.

An agent created before the plugin has no browser yet. Give it one, as root: SUDO_USER=agent-myagent 5dive browser setup.

03

Sign in once

Each agent is a Linux user on the box, named agent-<the name you gave it>. Sign in to a site for that agent once, and it keeps the session.

Over SSH

On the box, start Chrome for the site and open its window to VNC:

bash
cd /tmp
A=agent-myagent   # your agent's Linux user
S=example.com     # the site
sudo -u $A 5dive browser auth $S                 # starts Chrome for a person to sign in
sudo -u $A 5dive browser viewer $S --bind=local  # VNC on the box's 127.0.0.1:5900, one connection
sudo cat /var/lib/5dive/browser-profiles/$A/$S/.5dive-viewer.pw   # its one-time password

Then, on your laptop:

  1. Run ssh -N -L 5900:127.0.0.1:5900 you@your-box.
  2. Open vnc://localhost:5900 (Screen Sharing on a Mac, or any VNC client) and enter the one-time password.
  3. Sign in to the site. Tick “remember me” if it offers it. Wait about 30 seconds, then close the window.

Back on the box, save the session:

bash
sudo -u $A 5dive browser serve $S --stop

Nothing listens on the internet: the VNC server binds to 127.0.0.1, and the only way in is your SSH tunnel.

04

Use it

From your agent

The plugin gives your agent two skills, and it picks them up on its own, on Claude Code or the 5dive CLI:

  • use-browser: “go to <site> and …” work in a real Chrome on the box. It clicks, types, fills forms and checks pages, signed in or not.
  • connect-site: when a job needs your own account on a site, it asks you to sign in once, then uses that session.

So you just ask, on Telegram if you paired the agent, or in its chat:

message
Check my notifications on example.com and tell me which ones need a reply from me.

It answers from your account, signed in as you. Ask again tomorrow and it does not ask you to sign in again.

Good jobs for it are ones that need your account:

  • Reading what is waiting for you on a site with no API, and telling you what needs you.
  • Posting a reply, an issue or a comment under your account.
  • Filling in a form behind a login, such as a supplier portal or an admin panel.
  • Downloading an export from a dashboard you are signed in to.
  • Filling a cart and stopping at the payment for your yes.
  • Doing the same job every day: record the steps once, and later runs replay them.

From the command line

This is what the agent runs to read a page through your session:

bash
sudo -u $A 5dive browser snapshot https://example.com/notifications

When an agent needs you in the middle of a job, for a sign-in or a robot check, 5dive browser handoff sends you the steps to its live window, already filled in: on Telegram if the agent is paired, otherwise printed.

05

When it stops and asks

  • Before it pays. The agent stops and asks you, with a screenshot and what it is about to pay. On a paired agent the ask comes to Telegram with Approve and Decline. An ask nobody answers expires after 30 minutes, and a yes covers exactly those steps, once.
  • At a robot check. It never solves one. The run stops and you get the steps to its live window.
  • Posting, sending and deleting run without asking and are logged. To be asked before those too:
bash
sudo 5dive browser approvals policy set careful   # ask before paying, posting, sending and deleting
06

Troubleshooting

You seeWhyFix
A read says “logged out”The sign-in was not saved.Sign in again and wait longer before serve --stop.
Signed out after every runThe site ends the session when the browser closes.Sign in again and tick “remember me”.
An agent has no browserIt was created before the plugin.As root: SUDO_USER=agent-<name> 5dive browser setup.

Something else? Open an issue on GitHub.