What survives between two browser sessions?
A profile is saved browser state. A reconnectable session is a browser that is still running. A managed authentication connection can establish or verify a login. These mechanisms preserve different things and need separate tests.
A restored cookie can still refer to an expired website session. The success check should inspect the signed-in account and a protected page, rather than treating a successful profile API response as proof of login.
Compare saved state
Notte: Profiles save cookies, local storage and session storage. Sessions start with fresh state by default. Persisting a profile writes state back when the session ends; a running session can also save its state explicitly.
Browser Use: Profiles persist cookies, local storage and login state between browsers. Browser settings select a profile for a run. A session's conversation history and a profile's browser state are different resources.
Compare the login path
Notte: Vaults substitute credential placeholders in supported browser actions outside the model context. Managed Auth checks requested saved connections before automation. Personas supply an inbox and optional phone number for verification workflows.
Browser Use: V4 secret bindings give credentials aliases and allowed hostnames for use in a run. Profiles reuse existing state; the separate 2FA guide addresses verification during authenticated work.
Compare the browser lifecycle
Notte: Create an owned browser session, connect Playwright or Puppeteer over CDP, and stop the session when the work finishes. Browser lifecycle management remains necessary even when the control socket disconnects.
Browser Use: The V4 browser API creates a browser with a CDP URL. Your Playwright or Browser Use code can connect directly. Stopping the browser requires the browser API; closing CDP alone does not stop it.
How to evaluate this choice
Choose saved profiles for repeatable state restoration, a live session for work that must continue in the same browser, and managed authentication when readiness needs more than loading cookies.
- List the exact stores the workflow needs: cookies, local storage, other site data or open pages.
- Save state explicitly using the selected provider's profile contract.
- Start a second session and verify the expected account on the website.
- Test expiry and concurrent writers instead of assuming state can be shared freely.
- Keep downloaded files separate from browser login state.
Requirements side by side
| Requirement | Notte | Browser Use |
|---|---|---|
| Saved browser state | Documented | Documented |
| Credential handling | Documented | V4 secret bindings |
| Website sign-in | Documented | Profile / 2FA flows |
Sources: docs.notte.cc [1] ↗docs.notte.cc [2] ↗docs.notte.cc [3] ↗docs.notte.cc [4] ↗docs.notte.cc [5] ↗docs.notte.cc [6] ↗docs.browser-use.com [7] ↗docs.browser-use.com [8] ↗docs.browser-use.com [9] ↗docs.browser-use.com [10] ↗
Which approach fits?
Choose Notte when your browser workflow needs saved logins, credential fill or scheduled Python code alongside the browser.
Notte tradeoff: A saved profile restores browser state; it does not prove that a website still considers the user signed in. Use Managed Auth when the workflow needs connection readiness before it starts.
Choose Browser Use when you use Browser Use's framework or want its hosted browsers while retaining the option of a hosted browser agent.
Browser Use tradeoff: A hosted-agent run is a different execution unit from your deployed browser script. Keep comparisons focused on the browser path when measuring session speed and price.
A useful acceptance check
Write a pass/fail result for the real task before running the evaluation. Record the account, configuration and code version next to that result. Repeat failures need an explanation, not an automatically different browser configuration.