Skip to main content
chrome operates your own Chrome, the one already logged into everything, not a throwaway browser in a sandbox. That is its entire value, and the reason it needs a full confirmation policy.

Activation

profy-chrome is user_selectable: true with requires: { chrome_connected: true }. Enable it in the plugin panel and keep the Chrome extension online.

Routing: only the desktop path works today

The manifest declares the extension’s local MCP server (ws://localhost:19532/mcp). By design there are two routes: desktop sidecar first, direct WebSocket as a fallback.
Known limitation: the direct WebSocket route is not implemented (marked P2 future in the code). In practice there is only the desktop sidecar path: agent-runtime → sidecar stdio → Electron → extension. Without the desktop app you get:
So using chrome currently requires Profy Desktop to be running.

Tab lifecycle

You must claim_tab before operating. Navigating without claiming does nothing — the claim is the explicit signal that the expert is now driving this tab, and it is what makes the activity visible to you in the browser.

The 13 actions

Choosing between type and fill: use type when the page’s JS needs to see the keystrokes (search suggestions, live validation, character counters); use fill when you just need the value in place. browser_auth takes one of three auth_action values: get_credentials / store_credentials / clear_session.
Credentials and cookies are never returned to the model. browser_auth runs through the extension’s secure channel — the expert can trigger a credential fill but cannot read the plaintext.

The four-tier confirmation policy

Because this drives your real logged-in browser, write actions are tiered by sensitivity: The tiers live in two places: the tool docstring (which constrains the model) and the extension’s permission gate (which constrains execution). Even if the model tried to skip a confirmation, the extension would stop it — enforcement sits in the extension, not the prompt.

Workflow reuse (AT2T)

Repetitive browser tasks can be frozen into templates and replayed at zero LLM cost. Three companion tools: The recommended rhythm: match first → hit means execute (zero LLM) → miss means operate normally → save when done. The second time you do the same thing is dramatically faster. Templates live in the extension’s IndexedDB — local data in your own browser.

Failures and what to do

How it divides work with browser and computer

The rule is simple: use chrome when your session is needed, browser for public content. browser runs in the sandbox, does not tie up your browser, and never exposes your accounts to the expert.

Keep reading

Browser

The isolated sandbox browser

Computer Use

Desktop-level control

Record and replay

The other way to freeze a sequence of actions

Plugin catalog

All 28 built-in plugins and their activation conditions