Skip to main content
Read the Notte skill and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
boat runs agents in full Linux VMs that keep their disk between runs. Pair it with Notte when an agent builds or runs an app in a sandbox and needs a browser to check the result, or when it browses sites that block or challenge a datacenter IP. A Notte browser comes with stealth, residential proxies and captcha solving. See the runnable Python example.

Set up

Use Python 3.11+, a boat API key, and a Notte API key. Install boat-sdk, notte-sdk[playwright], and python-dotenv.

Open a sandbox app from your code

Serve the app from the sandbox, then host its port. The hosted URL carries an access token, so the browser needs no auth header; treat it like a password. session.page is a Playwright page connected to the Notte browser over CDP.

Drive the browser from inside the sandbox

Agents running in the sandbox can use the Notte CLI. Pass NOTTE_API_KEY in the sandbox’s env when you create it, then install the CLI and the Notte skills, which coding agents such as Claude Code and Codex pick up from ~/.agents/skills:
Then drive the browser. Replace the example URL with the one host_port returns:
The example stops the CLI session even when a command fails, and deletes the sandbox at the end. Its tests cover the sandbox commands and cleanup offline, and the full flow against real boat and Notte.