> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Devin browser authentication

> Log in once in Devin's Interactive Browser, save the browser profile, and have every future Devin session start already authenticated to your web apps.

Devin often needs to be logged into web apps — your staging environment, an admin dashboard, a SaaS tool — before it can do useful work. Instead of repeating a login every session, log in once and have Devin save the browser profile so all future sessions start authenticated.

## The workflow

<Steps>
  <Step title="Log in manually in the Interactive Browser">
    Open the **Desktop** tab in the session and drive the browser yourself: complete the login, including SSO redirects, MFA prompts, and CAPTCHAs. See [Interactive Browser](/work-with-devin/devin-session-tools#interactive-browser).
  </Step>

  <Step title="Ask Devin to save the browser profile">
    Say **"save the browser profile"** or **"persist my login sessions"**. Devin calls its `save_browser_profile` tool, which zips the browser data directory (cookies, `localStorage`, and other Chrome profile data) and attaches it to your organization's blueprint as a file. Other phrasings work too — "save browser cookies", "remember my browser logins", "keep my browser state", "save the browser to my snapshot".
  </Step>

  <Step title="Approve the blueprint update">
    Devin proposes a one-time update to the **organization-level** [blueprint](/onboard-devin/environment/blueprint-reference), adding an `initialize` step named *Initialize browser profile* that unzips the saved profile into the browser data directory. Review it in your timeline and approve it.
  </Step>

  <Step title="Future sessions start authenticated">
    Every new session in the organization restores that browser state during setup, so Devin's browser is already logged in when the session starts. No further approvals needed.
  </Step>
</Steps>

The restore step is a normal blueprint `initialize` step, referencing the profile zip through a `$FILE_BROWSER_PROFILE` [file attachment](/onboard-devin/environment/blueprint-reference#file-attachments):

```bash theme={null}
# Restore saved browser profile from org blueprint files
if [ -f "$FILE_BROWSER_PROFILE" ]; then
  mkdir -p /home/ubuntu/.browser_data_dir
  unzip -o "$FILE_BROWSER_PROFILE" -d /home/ubuntu/.browser_data_dir
fi
```

To refresh expired sessions, log in again and ask Devin to save the profile again — the tool replaces the existing step rather than adding a second one.

## Limitations and security

<Warning>
  Saved profiles are **organization-level**, not per-repository. Anyone in your organization can start a session that loads the profile, including the logins, cookies, and session tokens it contains. Only save profiles for accounts your whole organization is allowed to use — prefer a dedicated service account over a personal one.
</Warning>

* **No browser extensions.** Only profile data is restored. Extension-based tools (for example, MetaMask) are not loaded, so flows that depend on an extension won't work.
* **Saved passwords are excluded.** Chrome's password store is skipped, along with caches — so the profile carries session state, not credentials. Store credentials as [Secrets](/product-guides/secrets) instead.
* **Size limit.** The profile zip must be under 200 MB.
* **Sessions still expire.** Cookies restored from the profile expire on the app's normal schedule; re-save the profile when they do.

## Alternatives

| Approach                                                                                                          | Best for                                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Save browser profile                                                                                              | Logins that are hard to script — SSO, MFA, CAPTCHAs — where clicking through once is easiest                             |
| [Playwright login script](/work-with-devin/computer-use#scripted-browser-use-via-playwright) in `.agents/skills/` | Scriptable logins and injecting arbitrary browser state such as `localStorage` keys, per repository and versioned in git |
| [Secrets](/product-guides/secrets)                                                                                | API tokens and credentials Devin uses from the shell or from a login script                                              |
