Claude Code and a browser

Let Claude Code use a real browser.

Half of a real task happens on a web page: a dashboard, a staging site, a form, a docs page behind a login. Paw gives every project a real Chrome that its agents can drive, that you can watch live, and that you can take over the moment it needs a human.

The shop in the demo is a drawing. In Paw the page is a real Chrome.

What you get

A browser per project, not a browser per prompt.

The Browser tab shows a real Chrome that belongs to the project. Agents drive the same browser you are looking at, so you see exactly what they do.

  • Real Google Chrome or Chromium, not an embedded webview
  • One browser per project, with its own profile, so logins and cookies are kept
  • A live view in a Paw tab. Click, type and scroll in it yourself
  • Agents read pages as text and act on refs like @e3
  • It runs where Paw runs, so on a server it works while your laptop sleeps
  • An agent only ever reaches the browser of its own project

How it works

Navigate, snapshot, act, snapshot.

Agents use the paw command that every Paw chat has. This is the loop, in the order they run it.

  1. Open a page

    The browser starts the first time it is needed, on the project's own profile.

    paw browser navigate example.com
  2. Read it as text

    A snapshot is the page as text. Everything the agent can act on has a ref, with its role, its name and where it sits on the page. Refs last until the next snapshot.

    paw browser snapshot
  3. Act on a ref

    Click, type, press keys, scroll, or read the text of one element. A click or type on an old ref fails with "take a new snapshot", so the agent never acts on a page that moved.

    paw browser click @e3
    paw browser type @e2 "mug"
    paw browser key Enter
  4. Look again

    It takes a new snapshot, or a screenshot it can read like a picture, and decides what to do next. You watch all of it in the tab.

    paw browser screenshot

The commands

Everything an agent can do in it.

CommandWhat it does
paw browser openStarts the browser. The other commands start it as needed.
paw browser stateWhether it is alive, and the current address and title.
paw browser navigate URLGoes to a page. example.com, localhost:3000 and full https addresses work.
paw browser snapshotThe page as text, with a ref for everything it can act on.
paw browser click TARGETClicks a ref (@e3) or a position (120,45).
paw browser type [TARGET] TEXTFocuses the target if given, then types.
paw browser key KEYEnter, Tab, Escape, arrows, a letter, or a combination like ctrl+a.
paw browser scroll DYScrolls the page or an element, in pixels.
paw browser text [TARGET]The text or value of one element, or of the whole page.
paw browser screenshot [FILE]Saves a PNG and prints its path, so the agent can look at the page.

When it needs you

Logins, CAPTCHAs and codes are yours.

Some things an agent should not, or cannot, do for you. The browser is live in a Paw tab, so you do them there.

  1. It tells you

    The agent says it hit a login or a CAPTCHA and asks you to deal with it.

  2. You take over

    Open the Browser tab and click, type and scroll in the page yourself. There is no mode switch: it is the same browser.

  3. It carries on

    Tell the agent you are done, and it carries on from the page you left.

The sign-in stays in the project's browser profile, so the next session usually does not ask again.

On a server

Agents browse while your laptop sleeps.

Run Paw on a small Linux server and the browser runs there too. The Browser tab in the Mac app shows the server's Chrome.

A long task that needs the web, like checking a staging site after every deploy, keeps going when you close the lid. See Claude Code on a server for the setup, and install Chrome or Chromium on the server first.

The real limits

What it needs, and what to watch for.

  • Google Chrome has to be installed on the computer that runs Paw. On Linux, Chrome or Chromium. Paw does not bring a browser.
  • Chrome runs in the background in a fixed 1280 by 800 window, and the tab shows it live. It is not your everyday browser with your tabs.
  • Agents read pages as text, so for something that does not read well as text they take a screenshot and look at it.
  • Refs expire at the next snapshot. An agent that acts on an old one is told to look again.
  • A browser nobody uses for 15 minutes goes to sleep to free memory. Sleep does it at once, and Open starts it again.
  • Agents run with Claude Code's permission prompts off. In a browser you are logged in to, an agent can do what you can do on that site. Sign in only to what you are happy for an agent to use.
  • Each project has its own browser and profile. An agent cannot reach another project's.

Keep reading

All the features

The browser next to files, terminals, notes, tasks and tiling.

The browser in the features

Run it on a server

Agents that browse while your laptop sleeps.

Claude Code on a server

Questions

What is sent where, what Paw needs, what it cannot do yet.

Can agents use a browser?

Try it on your own agents.

Paw is a private beta for Apple Silicon Macs. Write for the next batch and say what you run Claude Code on.