Chrome integration is in beta and currently works with Google Chrome only. It is not yet supported on Brave, Arc, or other Chromium-based browsers. WSL (Windows Subsystem for Linux) is also not supported.
What the integration enables
With Chrome connected, you can chain browser actions with terminal commands in a single workflow. For example: scrape documentation from a website, analyze it, generate code based on what you learned, and commit the result. Key capabilities include:- Live debugging: Claude reads console errors and DOM state directly, then fixes the code that caused them
- Design verification: Build a UI from a Figma mock, then have Claude open it in the browser and verify it matches
- Web app testing: Test form validation, check for visual regressions, or verify user flows work correctly
- Authenticated web apps: Interact with Google Docs, Gmail, Notion, or any app you’re logged into without needing API connectors
- Data extraction: Pull structured information from web pages and save it locally
- Task automation: Automate repetitive browser tasks like data entry, form filling, or multi-site workflows
- Session recording: Record browser interactions as GIFs to document or share what happened
Prerequisites
Before using Claude Code with Chrome, you need:- Google Chrome browser
- Claude in Chrome extension version 1.0.36 or higher
- Claude Code CLI version 2.0.73 or higher
- A paid Claude plan (Pro, Team, or Enterprise)
How the integration works
Claude Code communicates with Chrome through the Claude in Chrome browser extension. The extension uses Chrome’s Native Messaging API to receive commands from Claude Code and execute them in your browser. This architecture lets Claude Code control browser tabs, read page content, and perform actions while you continue working in your terminal. When Claude encounters a login page, CAPTCHA, or other blocker, it pauses and asks you to handle it. You can provide credentials for Claude to enter, or log in manually in the browser. Once you’re past the blocker, tell Claude to continue and it picks up where it left off. Claude opens new tabs for browser tasks rather than taking over existing ones. However, it shares your browser’s login state, so if you’re already signed into a site in Chrome, Claude can access it without re-authenticating.The Chrome integration requires a visible browser window. When Claude performs browser actions, you’ll see Chrome open and navigate in real time. There’s no headless mode since the integration relies on your actual browser session with its login state.
Set up the integration
1
Update Claude Code
Chrome integration requires a recent version of Claude Code. If you installed using the native installer, updates happen automatically. Otherwise, run:
2
Start Claude Code with Chrome enabled
Launch Claude Code with the
--chrome flag:3
Verify the connection
Run
/chrome to check the connection status and manage settings. If the extension isn’t detected, you’ll see a warning with a link to install it./chrome slash command.
Try it out
Once connected, type this into Claude to see the integration in action:Example workflows
Claude can navigate pages, click and type, fill forms, scroll, read console logs and network requests, manage tabs, resize windows, and record GIFs. Run/mcp and click into claude-in-chrome to see the full list of available tools.
The following examples show common patterns for browser automation.
Test a local web application
When developing a web app, ask Claude to verify your changes work correctly:Debug with console logs
If your app has issues, Claude can read console output to help diagnose problems:Automate form filling
Speed up repetitive data entry tasks:Draft content in Google Docs
Use Claude to write directly in your documents without API setup:Extract data from web pages
Pull structured information from websites:Run multi-site workflows
Coordinate tasks across multiple websites:Record a demo GIF
Create shareable recordings of browser interactions:Best practices
When using browser automation, keep these guidelines in mind:- Modal dialogs can interrupt the flow: JavaScript alerts, confirms, and prompts block browser events and prevent Claude from receiving commands. If a dialog appears, dismiss it manually and tell Claude to continue.
- Use fresh tabs: Claude creates new tabs for each session. If a tab becomes unresponsive, ask Claude to create a new one.
- Filter console output: Console logs can be verbose. When debugging, tell Claude what patterns to look for rather than asking for all console output.
Troubleshooting
Extension not detected
If Claude Code shows “Chrome extension not detected”:- Verify the Chrome extension (version 1.0.36 or higher) is installed
- Verify Claude Code is version 2.0.73 or higher by running
claude --version - Check that Chrome is running
- Run
/chromeand select “Reconnect extension” to re-establish the connection - If the issue persists, restart both Claude Code and Chrome
Browser not responding
If Claude’s browser commands stop working:- Check if a modal dialog (alert, confirm, prompt) is blocking the page
- Ask Claude to create a new tab and try again
- Restart the Chrome extension by disabling and re-enabling it
First-time setup
The first time you use the integration, Claude Code installs a native messaging host that allows communication between the CLI and Chrome. If you encounter permission errors, you may need to restart Chrome for the installation to take effect.Enable by default
Chrome integration requires the--chrome flag each time you start Claude Code. To enable it by default, run /chrome and select “Enabled by default”.
Enabling Chrome by default increases context usage since browser tools are always loaded. If you notice increased context consumption, disable this setting and use
--chrome only when needed./chrome to see current permission settings.
See also
- CLI reference - Command-line flags including
--chrome - Common workflows - More ways to use Claude Code
- Getting started with Claude for Chrome - Full documentation for the Chrome extension, including shortcuts, scheduling, and permissions