Test your web app with an AI agent in your real Chrome
To test a web app with an AI agent, connect the agent to your own Chrome with Agent Chrome and ask it to walk through the flow in plain English. The agent opens your app in its own tab group, clicks and types like a user, reads the console and network log, and reports what broke.
Because it uses the Chrome you already have, your dev login, your feature flags and your extensions are all there. You do not write selectors or a test script first.
The problem: scripted tests and clean browsers do not match what you see
Most agent browser tools start a fresh browser. People describe the same frustrations again and again:
- "Playwright opens a clean browser, not mine."
- "Chrome DevTools MCP launches a separate Chrome without my logins, and I need remote debugging flags."
- "Claude in Chrome works maybe 1 out of 10 times."
When you want a quick check of a checkout flow or a new settings page, you do not want to rebuild your session in a blank browser. You want the agent to use the tab you would have used.
Set up once
Run the installer, then load the extension in Chrome:
curl -fsSL https://agentchrome.dev/install | sh
The installer adds an MCP server named agentchrome to every agent it finds, unpacks the extension to ~/.agentchrome/extension, and prints a pairing code. In chrome://extensions, turn on Developer mode, click Load unpacked, choose that folder, and paste the code in the popup. See Install Agent Chrome for the details.

While the agent works you see a pulsing blue border, a status pill with a Stop button, and the agent's own animated cursor. Your real mouse is never moved.
Walkthrough: test a signup flow
Say you just built a signup form and want it checked before you push. Ask your agent:
Use agentchrome to open http://localhost:3000/signup. Fill the form with a new test user, submit it, and tell me if anything fails. Check the console and network too.
Here is what the agent will call, in order:
tabs_contextcreates or lists the agent's tab group. Each MCP session gets its own named, colored group, so your own tabs stay untouched.navigatewithurl: "http://localhost:3000/signup"loads the page and waits for it. If the server returns a 404 or the host does not resolve, the result says so.read_pagewithfilter: "interactive"returns the accessibility tree. Every field and button has a handle such asref_12.form_inputsets the email, plan and terms checkbox byref. For exampleform_inputwithref: "ref_12"andvalue: "test@example.com". It fires the same input and change events a user would.computerwithaction: "left_click"andref: "ref_20"presses the submit button.wait_forwithtext: "Welcome"waits until the success message appears, or fails aftertimeoutMs.read_console_messageswithonlyErrors: truereturns uncaught errors andconsole.erroroutput.read_network_requestswithurlPattern: "/api/signup"andincludeBodies: trueshows the status, timing and the response body (up to 10 KB) of the call.
The agent then summarizes: what worked, what returned a 500, and which console error fired at the same moment. See Debug console and network errors for that part in depth.
Test the awkward parts too
Real apps have more than text boxes. These all work today:
- Drag and drop.
computerwithaction: "left_click_drag",start_refandrefruns native HTML5 drag and drop, so Trello-style boards work. Pointer-based sliders and sortable lists also work withstart_coordinateandcoordinate. - Dialogs. If a click opens
alert,confirmorprompt, the result tells the agent, andhandle_dialogwithaccept: true(andpromptTextfor prompts) answers it. The page never freezes the run. - New tabs and downloads. A link that opens a new tab joins the agent's group, and a download is reported in the result of the click that caused it.
- Responsive checks.
resize_windowwithwidth: 390andheight: 844changes the window, andscreenshotwithfullPage: truecaptures the whole page. - File uploads. See Fill web forms and upload files.
Keep proof of the run
Ask for a recording and you get an MP4 you can attach to the pull request:
Start a recording, repeat the signup flow, then stop and give me the link.
The agent calls record with action: "start", does the steps, then record with action: "stop". The clip leaves out the border, status pill and name tag by default, so it looks like a person using the page. More in Record a browser video or demo with AI.

Tips and limits
- Name the page and the pass condition. "Submit the form and confirm the text 'Welcome' appears" gives the agent something to check.
- Use refs, not pixels.
read_pageandfindreturn refs, and clicking by ref is steadier than clicking by coordinate. - Stop it any time. The Stop button on the page or in the popup pauses every agent. Pressing Cancel on Chrome's "started debugging this browser" bar stops them too.
- Chrome only. There is no Firefox or Safari support yet, and the extension is loaded unpacked because it is not on the Chrome Web Store yet.
- It cannot act on
chrome://pages or the Web Store. The agent is told why. - Use a test account. An agent with your logged-in browser can do what you can, and pages can contain prompt injection. Do not point it at production data you cannot afford to change.
- Agent Chrome complements your test suite. It is good for exploratory checks and reproducing bugs. Keep your CI tests for regression.
If you are choosing between tools, see Agent Chrome vs Playwright MCP and the Chrome MCP server guide.
Frequently asked questions
Can an AI agent test my web app in my own Chrome?
Yes. Agent Chrome connects Claude Code, Codex, Gemini CLI, Cursor and other MCP agents to your signed-in Chrome profile. The agent works in its own tab group, so it can test your app with your real login and flags while your other tabs stay as they are.
Do I need to write Playwright or Selenium scripts?
No. You describe the flow in plain English, and the agent picks the tools (navigate, read_page, form_input, computer). If you want a repeatable test afterwards, ask the agent to write one from what it just did.
Can it test localhost?
Yes. The agent loads http://localhost:3000 the same way you would type it in the address bar, because the browser is your own Chrome on your own machine.
Can I watch what the agent is doing?
Yes. A pulsing blue border surrounds the page, a status pill shows which agent is working, and the agent has its own animated cursor. The popup lists each agent session with Pause and Resume buttons.
Does it work with codex exec or claude -p?
Yes. Agent Chrome is a remote MCP server, so headless runs of agents can use it as long as your Chrome with the extension is open. See Codex and Chrome and Claude Code and Chrome.
Try Agent Chrome
One command sets up every agent on your machine. Or add https://agentchrome.dev/mcp as a connector in Claude or ChatGPT.