ASK KNOX
beta
LESSON 321

Claude Chrome Extension: Your Visual AI Copilot

Install and use the Claude Chrome extension as a real-time visual inspector alongside Claude Code, turning browser-visible issues into structured findings you can hand off immediately.

10 min read·Unchaining UI — Visual Testing with Claude

The Claude Chrome extension is the fastest way to inject visual perception into your development loop. You build something in Claude Code, open Chrome, trigger the extension, and within seconds you have a structured list of visual findings — ready to paste directly into Claude Code as a fix request.

This lesson covers everything from installation to the handoff pattern that production operators use daily.

Installation and Setup

Step 1: Install from the Chrome Web Store.

Search "Claude" in the Chrome Web Store or navigate directly to the Anthropic listing. The official extension is published by Anthropic. Install it. You will see the Claude icon appear in your Chrome toolbar.

Step 2: Authenticate.

Click the toolbar icon. You will be prompted to log in with your claude.ai account. Claude in Chrome is available on paid plans — there is no separate API-key setup; your existing subscription is what gates access. Note that plan tier affects the model the extension uses: lower tiers may be limited to a smaller, faster model, while higher tiers get the more capable models. For visual auditing work, the smaller models are still effective.

Step 3: Grant permissions.

The extension needs permission to read the current page. Chrome will prompt for this. You can grant it site-by-site or for all sites — for development work where you are iterating on localhost, granting it broadly is fine. For production browsing, site-by-site is more conservative.

Step 4: Verify it works.

Navigate to any page. Click the extension icon. Type "describe this page." If you get a coherent description of the actual rendered content — not just the URL — the extension is seeing the page correctly.

What Claude Chrome Sees

Understanding the extension's perception model helps you prompt it accurately.

The extension sees the rendered page the way you do — and unlike a static screenshot tool, it is agentic: it can scroll, click, navigate, fill forms, and open UI elements to reach the state you want audited. From the rendered page, it can identify:

  • Layout and positioning: Is this element left-aligned or centered? Is that grid evenly spaced? Does this column appear narrower than the others?
  • Typography: Is this text larger or smaller than that text? Does the font look bold or light? Is the line height comfortable or compressed?
  • Color and contrast: What color is this background? Does this text have sufficient contrast against it? Are these two shades the same or slightly different?
  • Images and media: Is this image cropped correctly? Does the aspect ratio look right? Is it loading?
  • Component state: Is this button in a hover state? Is this input field focused? Are these tabs showing the active tab correctly?

Because it can act in the browser, it is not limited to what is currently visible: ask it to scroll through the page and audit section by section, or to open a dropdown before inspecting it, and it will. By default it runs in an ask-before-acting mode — each action it wants to take (a click, a navigation, a form fill) is surfaced for your approval, which is the safety valve you should keep on for anything beyond trusted localhost work.

What it cannot see: your source code, your terminal, or your Claude Code session. It sees the rendered page, not code.

Effective Prompts for Visual Inspection

The quality of your findings depends almost entirely on how you prompt the extension. Vague questions produce vague answers.

Audit by category. Ask about one class of issue at a time for sharper results:

Audit this page for alignment issues only. For each issue,
state what is misaligned and where on the page it appears.
Check all visible text for contrast issues. Flag anything
that might fail WCAG AA contrast requirements (4.5:1 for
body text, 3:1 for large text).
Is the spacing between components consistent? List any
elements where the gap to its neighbor looks different
from the surrounding spacing pattern.

Compare against a standard. If you know what you are targeting, state it:

This should be an 8px grid system. Does the spacing between
these cards appear to be a multiple of 8px? What looks off?
The design spec calls for three equal-width columns.
Do these three columns look equal? Which appears different?

Severity triage. Ask for prioritization directly:

List the visual issues on this page by severity:
P0 (broken or unusable), P1 (visually wrong), P2 (polish).
Be specific about location for each.

What not to ask:

"Does this look good?" — you will get a subjective opinion, not actionable findings.

"Is this correct?" — the extension cannot know your design intent without context.

"Fix this" — the extension can act in the browser, but it cannot modify your source files. The code fix belongs to Claude Code; the extension's job is to observe, interact, and describe.

Limitations to Know Before You Rely On It

Actions ask for permission by default. In the default ask-before-acting mode, every click, scroll command, or navigation the extension wants to perform is surfaced for your approval. This adds friction to a long audit — deliberately. You can switch to act-without-asking for trusted sites like your own localhost, but keep the safety valve on for anything with real data or logged-in sessions.

Scope the audit, or it wanders. Because the extension can scroll and interact on its own, an open-ended "audit this page" can turn into a long, unfocused walk through the UI. Tell it exactly what to cover: "Scroll through the full page and audit each section for alignment issues" produces a tighter pass than letting it decide what matters.

No codebase access. The extension cannot tell you which file to edit. It tells you what is wrong visually. You (or Claude Code) figure out which file contains that component. This is the handoff step, and the next section covers how to make it smooth.

Interaction state still benefits from your setup. The extension can open dropdowns and modals itself, but each action costs an approval round-trip in the default mode. For a quick audit of one specific state, it is often faster to set up the state yourself (open the dropdown, trigger the hover) and then ask for the audit.

Design comparison needs a reference. The extension audits what is in the browser. Comparing current vs. mockup requires you to describe the mockup or have it open in another tab for reference — the claude.ai screenshot workflow in the next lesson handles mockup-vs-implementation diffing more directly.

The Handoff Pattern

This is where the workflow comes together. The extension finds issues. You need those issues to land in Claude Code as actionable instructions. Here is the exact pattern:

Step 1: Run the audit.

Navigate to the page you are building. Open the extension. Use a specific prompt:

Audit this page for visual issues. For each issue, provide:
- A short description of the problem
- Where it is located on the page (element name, section, or position)
- What you would expect it to look like instead

Step 2: Copy the output.

Select all of the extension's response. Copy it.

Step 3: Add file path context.

Before pasting into Claude Code, add a short prefix that gives file path hints. You know the codebase — the extension does not. For example:

The following visual issues were found on /dashboard.
The dashboard page is at src/app/dashboard/page.tsx.
The card component is at src/components/DashboardCard.tsx.
The stats row is at src/components/StatsRow.tsx.

Visual audit findings:
[paste extension output here]

Fix these issues in order of severity. Do not change anything else.

The file path hints are not required for Claude Code to work, but they dramatically reduce the back-and-forth of Claude Code searching for the right component. Approximate paths are fine — "somewhere in src/components" is useful even if the exact file name is wrong.

Step 4: Verify.

After Claude Code applies the fixes, reload the browser. Trigger the extension again with the same prompt. Confirm the original findings are gone and nothing new appeared.

The Side-by-Side Workflow

The physical workspace setup matters more than most developers acknowledge. The highest-efficiency layout for visual development:

Left half of the screen: Your terminal running Claude Code. The active conversation window. You read findings here, paste them here, read responses here.

Right half of the screen: Chrome with the page you are building. The extension icon in the toolbar, one click away. You look here to perceive the visual result.

This layout eliminates the alt-tab context switch. You build in Claude Code (left). You look in Chrome (right). You spot an issue. You trigger the extension (right). You copy the findings. You paste into Claude Code (left). You read the fix. You reload Chrome (right). You verify.

The whole loop takes 60-90 seconds once you internalize it. The first ten times feel deliberate. After that, it becomes muscle memory.

If you are on a large monitor, extend this: Claude Code terminal left, Chrome center, design mockup or Figma right. Three panes. Build → Look → Compare.

A Complete Example Session

You are building a pricing page. Three tiers side by side. Claude Code has generated the component. Here is the full workflow:

  1. Claude Code writes src/components/PricingTable.tsx and src/app/pricing/page.tsx. You run npm run dev. The page loads at localhost:3000/pricing.

  2. You open Chrome, navigate to localhost:3000/pricing. You see three pricing cards but something looks off — you cannot fully articulate what yet.

  3. You open the Claude Chrome extension. You type: "Audit the layout and typography of this pricing page. List issues by severity."

  4. The extension returns:

    • P1: The three pricing cards are not equal width. The center card appears approximately 15% wider than the left and right cards.
    • P1: The "per month" text below each price is a different size on the center card (appears larger).
    • P2: The feature list bullet points are not vertically aligned across the three cards — the third card's bullets appear indented further right.
    • P2: The CTA button on the rightmost card has slightly less bottom padding than the other two.
  5. You copy this output. You switch to your Claude Code terminal. You paste:

The following visual issues were found on /pricing.
The pricing table component is at src/components/PricingTable.tsx.

Visual audit findings:
- P1: The three pricing cards are not equal width. The center
  card appears approximately 15% wider than the left and right cards.
- P1: The "per month" text below each price is a different size
  on the center card (appears larger).
- P2: The feature list bullet points are not vertically aligned
  across the three cards — the third card's bullets appear indented
  further right.
- P2: The CTA button on the rightmost card has slightly less
  bottom padding than the other two.

Fix these issues in order of severity. Do not change anything else.
  1. Claude Code reads PricingTable.tsx, finds the inconsistencies in the Tailwind classes (the center card had w-full where the others had flex-1, the center card's price sub-label used text-sm where others used text-xs, the third card's list had an extra pl-6 class, and the right CTA had pb-3 instead of pb-4). It fixes all four in one pass.

  2. You save, hot reload fires automatically, you look at Chrome. The cards are equal width, the typography is consistent, the bullets align, the buttons match.

  3. Total time from "something looks off" to resolved: about four minutes.

The Exercise

  1. Install the Claude Chrome extension if you have not already.
  2. Navigate to any page you have built recently — or any public site you can use for practice.
  3. Open the extension. Ask it: "List all visual issues on this page by severity. Be specific about location for each."
  4. Read the output. Pick the top P1 finding.
  5. If it is your own project: copy the finding, add file path context, paste into Claude Code with the instruction "Fix this one issue. Do not change anything else." Then verify.
  6. If it is a public site: identify what class or CSS change would resolve the P1 finding. This builds your eye for translating visual observations into specific code changes.

Common Mistakes

Triggering the extension before the page is fully loaded. Hot reload or slow API calls can mean the page is not in its final state when you audit. Wait for the spinner to stop.

Auditing in a window that is too small. If your Chrome window is narrow, the extension sees a mobile-width layout. This can produce false positives for a desktop design. Match the viewport to the intended breakpoint before auditing.

Ignoring the P2 findings. P2 findings feel optional but they accumulate. A page with ten unresolved P2 issues looks amateur. Batch and fix P2s at the end of each feature, not never.

Using the extension as a crutch for clear problems. If you can see the issue directly — a broken layout, missing component, wrong color — just describe it to Claude Code yourself. The extension adds value when you want a systematic audit, not when you are correcting a single obvious thing you already noticed.

Summary

The Claude Chrome extension is an agentic visual copilot that sees the rendered page, can scroll and interact to reach the state you want audited (asking before acting by default), and produces structured findings. It fills the perceptual gap that Claude Code cannot fill on its own. The workflow is simple: build in Claude Code, audit in Chrome, copy findings with file path hints, paste into Claude Code with a targeted fix instruction, verify. The side-by-side terminal/browser layout makes this loop fast enough to become reflex.

What's Next

The next lesson covers the universal fallback: screenshot QA via claude.ai. No extension required. Works on any device, any browser, across multiple pages simultaneously — and enables the design comparison workflow where you feed Claude both the mockup and the implementation to find the delta.