# Claude in Chrome

Course: Claude Code: Pro Level — https://zero2vibecode.com/learn/claude-code-pro
Canonical URL: https://zero2vibecode.com/learn/claude-code-pro/6-4-claude-in-chrome
Verified against: Claude Code v2.1.292 (2026-10-15)
Last updated: 2026-10-15

With claude --chrome, Claude Code opens tabs in your real browser, reads the console and takes screenshots. Handy for checking layout — but it acts with your logins to sites. When logins are not needed, Chrome DevTools MCP with a temporary profile and a pinned version is safer.

Claude fixed the layout and says "done". But it cannot see the page — unless you give it a browser. Claude in Chrome connects Claude Code to the browser you use every day: it opens its own tabs in a visible window, reads the console, takes screenshots, and on a login page or a CAPTCHA it stops and waits for you.

## What you need

- Google Chrome or Microsoft Edge with the Claude in Chrome extension, version **1.0.36 or later**;
- a Pro, Max, Team or Enterprise plan, logged in through `/login`. If you logged in with an API key, the Chrome integration is off;
- macOS, Linux or regular Windows. **It does not work in WSL.**

## Starting it

```bash
claude --chrome
```

The first time, a window with an explanation appears — press Enter. Then check:

```
/chrome
```

You need two lines: `Status: Enabled` and `Extension: Installed`. If the extension is not found, quit Claude Code, restart Chrome and run `claude --chrome` again. The first time, Claude Code installs a connection file, and Chrome reads it only at startup.

Now you can ask:

```text
Open http://127.0.0.1:8000/ui-demo.html, tell me what the page shows,
read the console (reload to catch errors on load) and save a screenshot.
```

Every action starts with a `Claude in Chrome wants to` request. For a local page you can allow all actions for the session. From there it is the usual loop: Claude finds an error in the console, fixes the code, reloads the page and takes a new screenshot — this time as proof.

If Claude does not reach for the browser, start the session with `--chrome` or choose **Enabled by default** in `/chrome`. But then the browser tools load into every session and take up room in the context window.

## An alternative without your logins

The key thing about Claude in Chrome is that it **shares the login state** of your browser. Claude can reach any site where you are logged in. The extension's permissions decide which sites it may look at, click and fill in.

If the task does not need logins — and for checking your own page it almost never does — use the Chrome DevTools MCP server with a temporary profile. It is worth starting like this:

```bash
claude mcp add --env CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS=1 --transport stdio chrome-devtools \
  -- npx -y chrome-devtools-mcp@1.10.1 --isolated --no-usage-statistics --no-performance-crux
```

| What | Why |
|---|---|
| `@1.10.1` | an exact version: the package will not change by itself between runs |
| `--isolated` | a temporary browser profile — without your logins |
| `--no-usage-statistics` | do not send usage statistics to Google |
| `--no-performance-crux` | do not send URLs from performance traces to the CrUX API |
| `CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS=1` | do not check npm for updates |

To give the whole team the server, write the same thing into `.mcp.json` at the repository root and commit it. Note: pages still load from the network, and the server shows Claude everything in that browser.

**Careful.** 
Claude in Chrome acts with your logins: email, bank, work systems — everything you are logged in to in that browser. Limit it to the sites the task needs, and read every "Claude in Chrome wants to" request before allowing a site. The Enabled by default option in /chrome keeps the browser connected in every session — turn it on only if you need the browser all the time.

**Practice in the terminal.** Write a chrome-devtools server into .mcp.json: the command npx, the arguments -y, chrome-devtools-mcp@1.10.1, --isolated, --no-usage-statistics, --no-performance-crux, and the variable CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS set to 1.
