Build a Chrome Extension with Claude Code (Yes, You)
By Jonah, Founder of FindClout — July 2026
Somewhere between "web app" and "internal script" sits the most underrated tool category: the browser extension. It lives exactly where you already are — on the page — and it can read what's on screen, add a button, pull data into your CRM, or overlay information that isn't there natively. Most marketers never build one because "Chrome extension" sounds like a Google engineer's job title. It isn't. It's a folder of HTML, CSS, and JavaScript that Chrome loads directly, and Claude Code writes all three.
This is the build: from an empty folder to a working extension loaded in your actual browser, with real examples — a SERP overlay, a one-click saver, a CRM clipper — that you can adapt to whatever page you spend your day staring at.
Get Claude Code installed first if you haven't — the 20-minute guide covers it, no code editor required.
What a Chrome extension actually is
Strip away the mystique: a Chrome extension is a folder containing a manifest.json file (a small config describing what the extension does and which permissions it needs) plus some combination of scripts that run on pages you visit, a popup UI that appears when you click the extension's icon, and a background script for anything that needs to run independent of any specific tab. That's the whole architecture. Every extension you've ever installed is some arrangement of those pieces.
Step 1: Describe the extension, not the architecture
Open a terminal in a fresh folder, run cc, and describe the outcome:
tell cc: "Build a Chrome extension using Manifest V3 that adds a small
floating button to the bottom-right corner of any webpage. When
clicked, it grabs the page's title and URL and saves them to a list
I can view by clicking the extension's icon in the toolbar. Store the
saved list using chrome.storage so it persists between browser
sessions."
Claude Code writes the manifest, the content script (the part that runs on the page itself and adds the button), and the popup HTML/JS for viewing your saved list. This is a genuinely useful "one-click saver" on its own — the kind of extension people pay for — built in one prompt.
Step 2: Load it — no store, no review, no waiting
This is the part that surprises people: you don't need to publish anything to try it. Chrome has a developer mode built for exactly this:
- Open
chrome://extensionsin your address bar. - Toggle Developer mode on, top-right corner.
- Click Load unpacked and select your project folder.
Your extension is now installed, icon and all, in your real browser. Click the icon, try the button, watch it actually work on a real page. Every change you make in the code, you reload from that same extensions page and test again immediately — the same fast iteration loop as everything else in this series.
Want the full toolkit this fits into?
Jonah's Guide to the Agentic Future is the free one-page PDF that covers the Cloudflare backend, the database, and the APIs your extension can eventually talk to.
Get the Free Guide (PDF) →Example build: a SERP overlay
A search-results overlay is one of the most useful extension patterns for anyone doing competitive or market research — inject extra data directly next to Google's results.
tell cc: "Build a Chrome extension that runs on Google search results
pages. For each result, add a small badge next to the link showing
[whatever data point — domain age, a score from my own API, a note
if I've already reached out to this company]. Pull that data from
[my API endpoint] using the URL of each result."
This is exactly the kind of tool that makes a research or outreach workflow visibly faster — the data you'd otherwise cross-reference in a separate tab just appears next to the thing you're already looking at.
Example build: a CRM clipper
The second high-value pattern: pull structured data off any page directly into your CRM or spreadsheet, no copy-paste.
tell cc: "Build a Chrome extension with a popup button that reads the
current page (a LinkedIn profile, or a company page) and extracts
name, title, and company if present, then sends it to [my CRM's API /
a Google Sheet via API] with one click. Show a small success
confirmation in the popup."
This is the extension version of what a growth team means when they talk about Claude for lead generation — removing the manual data-entry step between "I found someone worth reaching out to" and "they're in my system."
Permissions: ask for only what you need
Manifest V3 requires you to declare which sites and browser capabilities your extension can access, and Chrome shows the user (you, or your teammates) what it's requesting at install time. Be deliberate here — an extension that requests access to "all websites" when it only needs to run on one domain looks suspicious and is genuinely worse practice:
tell cc: "Scope the permissions in the manifest to only the specific
domain this needs to run on, not all sites — tighten it as much as
possible while keeping it working."
Debugging: the same brute-force loop, browser edition
When something doesn't work, Chrome's extension debugging tools are your friend, and Claude Code knows exactly where to point you:
- Content script errors show in the regular page console — open DevTools on the page itself.
- Background script and popup errors show on the
chrome://extensionspage — click "service worker" or "inspect popup" under your extension's card.
Copy whatever red text you find in either console, paste it back into your cc session, and let it fix itself. This is the identical brute-force loop from the vibe coding guide — you don't need to understand Chrome's extension APIs, you need to be willing to paste an error and try again.
Do you need to publish it?
No — and for internal or personal tools, most people never do. "Load unpacked" works forever; there's no expiration. If you want to share it with a teammate, zip the folder and have them load it unpacked the same way. Publishing to the Chrome Web Store only matters if you want broad public distribution — it requires a one-time developer registration and a review process, worth doing only once you've validated the extension is actually useful to more than your own team.
Where this fits in the bigger picture
A Chrome extension is often the last piece that makes an internal tool actually get used, because it removes the "open another tab" friction entirely. Pair it with a dashboard you built earlier — a popup that shows the same live numbers without leaving your current tab — or with a Telegram bot so the extension's button also fires an alert to the team. This is the exact "keep building small tools that stack" instinct covered in Claude Code use cases.
Want help scoping your first extension?
Book 15 minutes and tell me the page you stare at most every day — I'll help you figure out what a first extension should do to it.
Book a Setup Call →FAQ
Do I need to know JavaScript to build a Chrome extension?
No. You describe what you want the extension to do on which pages, and Claude Code writes the manifest file, the scripts, and any popup UI. Your job is to describe the behavior and test it by clicking around.
What is Manifest V3?
The current required format for Chrome extensions — a JSON file declaring what your extension can access and which scripts run where. Claude Code writes MV3-compliant manifests by default as of 2026, so you don't need to know the spec yourself.
How do I test an extension before publishing it?
Use Chrome's built-in "Load unpacked" mode: go to chrome://extensions, turn on Developer Mode, click Load Unpacked, and point it at your project folder. It installs immediately, no store review needed.
Do I have to publish it to the Chrome Web Store?
No. Plenty of extensions are built purely for personal or team use and just live as an unpacked folder. Publishing is only necessary for broad public distribution and involves a review process plus a one-time developer registration fee.
What kind of extensions are realistic for a first build?
Anything that reads or modifies a page you already look at constantly: a search-results overlay, a one-click saver, a CRM clipper, or a popup showing a live number from your own dashboard. Start with something you'd genuinely use daily.
Jonah is the founder of FindClout, a curated creator distribution network that has generated 3.3B+ views for brands across sports, prediction markets, AI, and more, built on verified American audiences. He builds most of FindClout's internal tooling himself, in a terminal, with zero formal coding background. Reach him at [email protected] or book a call.
findclout.com