Skip to main content
Browser Use Terminal is a Codex-style assistant for the browser. Coding assistants like Claude Code and Codex work well because they give the model autonomy and a real environment to operate in. They provide tools, files, shell commands, history, resumable sessions, and a terminal UI where you can watch and steer the work. Browser Use Terminal brings that pattern to browser automation. It gives an AI agent its own browser environment: it can control Chrome, see screenshots, inspect pages, run page JavaScript, save files, use browser profiles, handle secrets, and keep a history of what happened. Learn more on the Browser Use Terminal site or view the Terminal GitHub repo. In practice, this means you can ask for browser work from your terminal:
You can use Browser Use Terminal in four ways:
Browser Use Terminal is separate from the lower-level browser-use CLI. Use browser for the Terminal TUI, browser-use-terminal for Terminal task commands, and browser-use for direct browser-control commands.

Terms

  • TUI: terminal user interface. This is the interactive app you open with browser.
  • CLI: command-line interface. These are scriptable commands such as browser-use-terminal run-openai.
  • Headless browser: a browser that runs without a visible window.
  • CDP: Chrome DevTools Protocol. This lets Browser Use connect to an existing Chrome instance.
  • MCP: Model Context Protocol. This lets the agent use tools from external MCP servers.
  • TOTP: time-based one-time password. This is the six-digit code generated by authenticator apps for 2FA.

Install

Install Browser Use Terminal:
Restart your shell or source your shell profile if the installer updates your PATH. Verify the two terminal executables:
Open the TUI:
Set up Python usage in the same project where you will write your agent code:

TUI Commands

In the TUI, type / to open the command palette. These are the main commands:

Run Browser Tasks

TUI

The TUI is the main Browser Use Terminal experience:
Type a browser task. You can watch the agent work, interrupt it, steer it, and continue the same session later.

CLI

Use one-shot commands for scripts, automation, and quick tasks:
Other provider commands:

Python

Use browser_use.beta.Agent to run Python code on top of the Rust terminal runtime:

Use From Coding Assistants

Browser Use Terminal plugs into any coding assistant that can run shell commands. A skill teaches the assistant the CLI, and the CLI gives it the full browser runtime: page interaction through Python helpers, screenshots saved as files, profiles, and more. The fastest setup is to paste this URL into your assistant and let it bootstrap everything (install, skill registration, browser setup, verification):
To set it up manually instead:
skill install writes the skill into every detected assistant home: ~/.claude/skills/ (Claude Code, also read by OpenCode), ~/.codex/skills/ (Codex), ~/.config/opencode/skills/, and ~/.agents/skills/. For other assistants, persist the output of browser-use-terminal skill show wherever that assistant reads instructions. The assistant then drives the browser with commands:
How it works:
  • The browser auto-connects per the remembered preference (browser-use-terminal browser preference use local|cloud|managed-headless) and persists across invocations; Python variables do not.
  • Screenshots are saved as files and the absolute path is printed, so assistants view them with their native file tools: Claude Code Read, Codex view_image, OpenCode read, Gemini CLI read_file.
  • --session <name> gives parallel workstreams isolated artifact dirs, event logs, and managed browsers.
  • Stop persistent browsers with browser-use-terminal browser recover stop-owned-browser (managed) or browser-use-terminal browser recover stop-owned-remote (cloud).
  • Everything is recorded in the same event log as the TUI: browser-use-terminal events browser-cli-<session>.

Configure Models

TUI

Use /auth to sign in and configure credentials, then /model to choose the model:
This is the recommended setup path for normal interactive use.

CLI

For one-shot commands and CI, set the provider key for the provider command you are using:
Then choose a provider command and model:

Python

Pass a supported browser-use model class to Agent:
Supported Python model classes:

Choose A Browser

TUI

Use /browser to choose how the agent should run the browser:
Common choices are your local Chrome, a headless browser, or Browser Use Cloud. Browser Use Cloud is the easiest option to get started: it gives you a free, one-click browser setup without managing a local Chrome profile. Use /profile to choose the default Chrome profile:

CLI

Use terminal config or one-off config overrides for browser settings:

Python

Managed local browser:
Headed browser:
Browser Use Cloud: Browser Use Cloud is the simplest remote browser option for Python too. Set BROWSER_USE_API_KEY, pass use_cloud=True, and the terminal runtime handles the cloud browser session.
Existing browser over CDP:

Use Secrets And Login

Secrets let the agent fill credentials without exposing raw values to the model.

TUI

Use /auth for Browser Use account and model-provider authentication:
Use /secrets to save website login secrets and 2FA setup keys:
Inside /secrets, press Ctrl-O to import logins from 1Password. You can also run:
Name a TOTP secret otp and paste the authenticator setup key, not the current six-digit code.

CLI

Store a password:
Store a TOTP seed for 2FA:
Import saved logins from 1Password:
The import command uses the op CLI. secrets list prints metadata only, never secret values.

Python

Python runs use the same terminal runtime and terminal state. Configure website secrets with the terminal commands above, then run the Python agent against the matching domain.

Restrict Domains

Domain policy controls where the browser can navigate.

TUI

Use /domains to allow or block sites from the TUI:

CLI

Python

Pass domain policy through BrowserProfile:

Use MCP Servers

MCP servers add external tools to the agent.

TUI

Add MCP servers to terminal config, then run the TUI normally:

CLI

Create an MCP config:
Pass it when you run a task:

Python

Python terminal-backed runs can use terminal MCP configuration through the same terminal runtime. Configure MCP servers in terminal config before starting the Python run.

Use Profiles And Config

Profiles let you keep separate terminal settings for different accounts, browsers, models, or workflows.

TUI

Use /profile to choose the default Chrome profile:
Open the terminal with a named terminal config profile:

CLI

The terminal reads config from:
If BROWSER_USE_TERMINAL_HOME is not set, it uses:
Use a named profile to layer $BROWSER_USE_TERMINAL_HOME/<name>.config.toml on top of the base config:
Use --state-dir for an isolated run:

Python

Point Python at a terminal state directory:
Use a specific terminal binary:

Troubleshooting Setup

browser Or browser-use-terminal Not Found

Restart your terminal, then check whether the install location is on your PATH:
If the commands are still missing, rerun the installer and copy any PATH instructions it prints:

Which Command Should I Use?

Python Cannot Find browser_use.beta

Install or upgrade the Python package in the same environment you are running:

Forwarded Python Settings

When you use browser_use.beta.Agent, these Python settings are forwarded to the Rust terminal SDK: The same Python Agent instance can continue a terminal-backed session across follow-up runs.

Cloud Browser Setup

Set BROWSER_USE_API_KEY and pass the cloud profile or proxy settings through BrowserSession.

1Password Import Setup

Install and sign in to the 1Password CLI:
Then import:

TOTP Setup

Store the base32 TOTP seed with --totp, not the current six-digit code: