⚡ Mac and Windows app · or your terminal

Give Claude hands in your own browser.

Not a headless clone in a data centre — your Chrome, already signed into your accounts, driven by real clicks and keystrokes that modern web apps accept. That's also why it never asks for your password: it isn't pretending to be you, it is you. Ask in plain English, watch it happen. Anything that sends, posts, buys or deletes waits for you.

Needs a paid Claude plan — the one you already have. Mac or Windows, with Chrome.

you → chromeboost
› put my unread LinkedIn messages into a spreadsheet → opened Messaging, read 31 unread threads → pulled name, company, role and what they asked → saved messages.csv ✓
› invite the marketers in my network to Friday's event → opened the event, filtered connections by industry → queued 24 invitations, none sent yet ⏸ waiting for you to review and send
› grab my Stripe test key into .env → opened dashboard.stripe.com (already signed in) → read Developers → API keys → wrote STRIPE_SECRET_KEY to .env ✓
› what did people say about us on Reddit and X last month? → read 214 posts and comments across both → grouped by theme, tagged positive / negative → saved sentiment.csv — 61% positive ✓
› download last month's invoices from the billing portal → signed in, opened Billing → Invoices → filtered to July, found 9 invoices → saved 9 PDFs to your ChromeBoost folder ✓
00 / Two ways in

Same hands. Two ways to hold them.

Both need a paid Claude plan — the one you already have. The only real question is whether you want to open a terminal. Pick the honest answer; you can use both.

For most people

The Mac and Windows app

Download it, sign in, add the extension in one click. No terminal, no config file. Type what you want and watch it work, then set it to repeat every Monday when it does.

Free to try · then $10 a month

See what it costs
For developers

The command line

A Chrome extension plus an MCP server for Claude Code, Gemini CLI and Codex. Same browser control, same 35 tools, driven from the terminal you already live in. Open source, MIT, and free forever.

Free · MIT on GitHub

Install it
01 / Just ask

Things people actually say to it

No scripts, no selectors, no recording a macro. You type the sentence; Claude finds the buttons. These are real prompts — copy one.

›Reply to the new comments on my last post — draft each one and I'll hit Post.
Opens the post, reads the comment thread, and types a reply into the composer for each one. It stops at Post every time — it highlights the button and waits for your click, so nothing goes out in your name that you didn't read.
find_textclick_elementtype_textwait_for_click
›What did people say about us on Reddit and X last month?
Reads the actual threads — not a scraper's cache — groups them by what people were complaining about or praising, tags each one, and hands you a spreadsheet. Market research that cites its sources, because it read them in your browser.
open_pageget_page_textdownload_file
›Put my unread LinkedIn messages into a spreadsheet
Opens Messaging in the account you're already signed into, reads every unread thread, and pulls out who they are, where they work and what they actually asked for. An inbox you can sort instead of one you scroll.
open_pageget_page_textdownload_file
›Drag the seat slider to 50 and tell me what it costs
A slider has no button to click. ChromeBoost presses, moves through real intermediate positions, and releases — the same events a hand generates — then reads the price back off the page.
dragget_page_text
›Fill this vendor form from our company profile doc
Forty fields of legal name, VAT number and addresses, typed with real keystrokes so React, Monaco, TipTap and contenteditable editors all register the input. Then it shows you the form before submitting.
get_form_fieldsfill_formhighlight_region
›Download last month's invoices from the billing portal
Signs in as you, filters the date range, and pulls every PDF down with your real session cookies — the files a logged-out scraper simply can't reach.
click_elementdownload_fileread_attachment
02 / How it moves

It doesn't teleport. It reaches.

A normal automation script jumps a cursor to coordinates and fires a click event. Real people don't do that, and modern sites can tell. ChromeBoost sends the whole gesture through Chrome's own input pipeline — a curved approach, a little tremor before it lands, pressure on the way down. Drag is where the difference is easiest to see:

drag(from_selector: ".card", to_selector: "#done") 1 · press 2 · 24 moves 3 · release
TO DO DONE Write the changelog Ship the extension Fix the cookie banner
A press with no motion before the release is ignored by every drag library on the web — which is why two clicks never move a Kanban card, resize a pane, or set a slider. ChromeBoost emits the in-between positions, so the page sees a hand.

It can hover

Menus that open on mouseenter, row buttons that only appear at opacity: 0 until you're over them, tooltips, chart crosshairs. There's nothing to click until something hovers — so ChromeBoost hovers, and waits.

It can drag

Sliders, canvas and WebGL apps, map panning, sortable lists, resize handles, signature pads. Anything you'd move with a hand rather than tap with a finger.

It types for real

Keystrokes go through Chrome's real input path, so React, TipTap, ProseMirror, CodeMirror, Monaco and Stripe's contenteditable fields all register them — the editors that silently swallow scripted input.

03 / Getting through

Cookie banners don't stop it

Here's the thing that breaks most browser agents. A page paints a cookie scrim, a modal backdrop, or an invisible catch-all <div> over the button. The click hits that instead — and the agent gets told it worked. It then argues with a button it never actually pressed. ChromeBoost checks what's on top before it clicks.

Everyone elseaim & fire
invisible overlay your button

Blocked. The click never reaches the button — but the agent reports success and carries on.

ChromeBoostlook first, then click
stepped aside, then put back your button

Landed. Same real click, same trusted event — it just isn't aimed at a banner. The page is left exactly as it was found.

01

Aims where it can reach

It looks for a spot on the target that's actually exposed. A button half-hidden behind a sticky footer gets clicked on the half you can still see.

02

Scrolls before it forces

If a fixed header or floating bar is in the way, it scrolls the page so the target moves clear — the same thing you'd do — before trying anything cleverer.

03

Tells you what blocked it

And when something genuinely can't be reached, it names the element in the way instead of claiming success. No more debugging a click that never happened.

04 / Your accounts

LinkedIn doesn't flag it. There's nothing to flag.

Anyone who has tried to automate a social platform knows how it ends: a restricted account, a verification loop, sometimes a permanent ban. That happens because the tool is a stranger — a fresh browser in a data centre, wearing your exported cookies, clicking in ways no hand produces. Every signal says someone else is driving, because someone else is.

ChromeBoost isn't a stranger. It's your Chrome, your profile, your session, on your machine, in the country you're actually in. Nothing is copied out and nothing logs in from somewhere new. There is no mismatch to catch because nothing about it is borrowed.

Your session, not a copy

No cookie export, no headless clone signing in from a data centre, no “new device” email to your inbox at 3am. You're already logged in; it simply uses that.

Real input, not synthetic events

The pointer travels, settles and clicks the way a hand does, and keystrokes arrive as real keystrokes. Modern React apps that silently reject scripted input accept it, because there is nothing to reject.

Proven where it's hardest

Reddit, X, LinkedIn and Facebook are where generic automation dies. They're also what ChromeBoost is tested against, because they're where the work actually is.

One thing this is not: a licence to spam. It moves at human pace because it is a human's browser, and everything that posts or sends still waits for your click. Use it the way you'd use your own hands — that's precisely what it's replacing.

05 / Where it stops

You approve anything that matters

An agent with your logins should not be able to publish in your name, move your money, or pass your 2FA on its own — and this one can't. When a step is irreversible, ChromeBoost fills in everything around it, highlights the final button, and hands control back to you.

Publishing

Posts, comments and replies get drafted into the composer. The Post button is highlighted and waits for your actual click. Nothing goes out unread.

Passwords & 2FA

It never types a password or a one-time code. It brings you to the field, points at it, and pauses. Secrets on screen are redacted out of what Claude reads by default.

Payments & captchas

Checkout and card details are yours to confirm. Captchas aren't solved or faked — ChromeBoost reports one is there and steps back.

You can read every line of it

The part that touches your browser is open source, MIT, on GitHub. If you are about to let software drive accounts you care about, you should be able to check what it does — so you can, line by line, without asking us.

Read the source
06 / Repeats

Do it every Monday, without me

The jobs worth having are the ones you'd otherwise do again next week. When something works, ChromeBoost offers to keep doing it — every day, every week, or every hour — and it runs while the app is open, in your browser, with the same approvals in place.

Say it once

After a job finishes, it asks whether this should happen on its own. Pick a day and a time. That's the whole setup — there's no schedule syntax to learn.

It tells you the truth

If your computer was asleep and a run was missed, it says so. It doesn't quietly fire eleven overnight jobs at your accounts when you open the lid.

Still your call

A repeat has no extra permissions. Anything irreversible waits for you, exactly as it does when you're sitting there watching.

07 / Pricing

Free to try. $10 if you keep it.

Your first week is completely open — no limits. After that you get five finished jobs a month, free, for as long as you like. Jobs that fail don't count. Every plan runs on your own paid Claude subscription — if you don't have one, start there, not here.

Free

$0forever

  • First week fully open
  • Then 5 finished jobs a month
  • One job at a time, up to 150 steps
  • Every file you make is yours to keep
  • One computer
Download

No card needed

Most people

Pro

$10a month

  • Unlimited jobs
  • Three jobs at a time
  • Send new instructions while it works
  • Long jobs, up to 1,000 steps
  • Fast on ordinary sites, human pace on social ones
  • Repeat them daily or weekly
  • Two computers
  • Email support
Get Pro

Business

$24a month

  • Everything in Pro
  • Ten jobs at a time
  • Jobs up to 3,000 steps
  • Repeat hourly, not just daily
  • Ten computers
  • Ready-made marketing jobs
  • Priority support
Get Business

Wait — I already pay for Claude.

You do, and you'll keep paying them exactly as you do now. ChromeBoost runs on your Claude subscription, so we never charge you for the AI and we can't mark it up — we never touch that bill. Tools that sell you credits are reselling model calls, which is why their invoices surprise people. Ours can't: $10 is the whole bill from us, however much work you do.

08 / The floating window

Your page, your corner

While your agent drives, a small panel sits on the page so you always know a session is in control and which one. Most tools weld that badge to the top-right corner — exactly where sites put their account menu and cart. This one you can move. Drag it by the header, double-click to collapse, × to dismiss. Try it:

ChromeBoost
my-app · port 7970
Filling checkout form
Drag the header · double-click to collapse · Alt + Shift + B toggles it

Move it once

Drop it near an edge and it snaps flush; resize the window and it stays in view. Where you put it is remembered — next page, next session, same corner.

Shrink it or lose it

Collapse to a pill that just shows the session name, or dismiss it completely. Alt+Shift+B brings it back on any page, and the toolbar popup has a Show button if you'd rather click.

It can't get in the way

It lives in a closed shadow root, so no page can restyle it or find it, and only the panel itself takes clicks — never the space around it. It's kept out of screenshots automatically.

09 / Install

Download it and sign in

Two steps, both of them ordinary. You need Chrome and a paid Claude plan — the same one you already use. ChromeBoost never sees your password: you sign in through Anthropic's own window. The app runs on Mac and Windows.

1

Get the app

Whichever machine you're on, the app walks you through adding the Chrome extension — one click from inside it, no terminal and nothing to configure. That extension is what lets it reach your browser at all.

Download it, drag it to Applications, open it.

Not yet signed with Apple or Microsoft, so your computer warns the first time. A few clicks, explained on the download page.

Download it, run the installer, open it.

Not yet signed with Apple or Microsoft, so your computer warns the first time. A few clicks, explained on the download page.

2

Connect your Claude account

The app opens Anthropic's own sign-in page. You log in there, they hand the app a token, and that's the last you'll think about it. We never see your password, never store a token, and never touch your keychain — the sign-in isn't ours to run.

Then type what you want in plain English. That's the whole product.

ChromeBoost CLI
The command-line version

Free, MIT, and not a trial: a Chrome extension plus an MCP server for Claude Code, Gemini CLI and Codex. Same browser control, same tools, no app and no subscription. If you live in a terminal, start here.

1

Connect it to your CLI

Pick the one you use. Step 2 is identical whichever you choose.

Run these one at a time, not as a single paste.

/plugin marketplace add lordamdal/chromeboost
/plugin install chromeboost@chromeboost

Then restart Claude Code so the MCP server starts.

One command. The extension carries both the MCP server and the Chrome files.

gemini extensions install https://github.com/lordamdal/chromeboost

Restart Gemini so the MCP server starts.

Optional. Gemini confirms each tool call by default. To let it run unprompted, add trust in ~/.gemini/settings.json (extension manifests are not permitted to set it):

{ "mcpServers": { "chromeboost": { "trust": true } } }

One paste. It clones, builds, and registers the server with Codex, so there is no config file to hand-edit and no path to fill in.

git clone https://github.com/lordamdal/chromeboost ~/.chromeboost/src \ && npm --prefix ~/.chromeboost/src install \ && npm --prefix ~/.chromeboost/src run build \ && codex mcp add chromeboost --env CHROMEBOOST_HOST=codex \ -- node ~/.chromeboost/src/packages/plugin/server/chromeboost.mjs

Restart Codex so the MCP server starts.

Codex needs the clone because it registers a command to run, not a package to fetch. To update later: git -C ~/.chromeboost/src pull && npm --prefix ~/.chromeboost/src run build, then reload the extension.

2

Add the extension

One click from the Chrome Web Store. No developer mode, no folder to keep around, and it updates itself from then on.

Add to Chrome

Then pin ChromeBoost to the toolbar so the popup is one click away. Prefer to be walked through it? Run /chromeboost-setup in your CLI and it checks the connection for you at the end.

Already running the unpacked copy? Remove it at chrome://extensions when you add the store build. Both talk to the same local port and the server keeps only one connection, so the two evict each other in a loop.

3

Point it at a window

Click the ChromeBoost icon in the toolbar. Your session shows up with a green dot — hit Use this window to bind the Chrome window you want driven. Then try:

open news.ycombinator.com and give me the top 5 stories
If something goes wrong

The first command opens a dialog asking for a “marketplace source”

It wants the repo on its own, without the /plugin prefix:

lordamdal/chromeboost

Permission denied or host-key error when adding the marketplace

owner/repo shorthand clones over SSH. Use the HTTPS URL instead:

https://github.com/lordamdal/chromeboost.git

Or set CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 to make shorthand use HTTPS.

No green dot in the popup

The extension is loaded but hasn't connected. Hit the reload arrow on the ChromeBoost card in chrome://extensions — it reconnects on a backoff timer and a reload forces it immediately.

After updating the plugin

Nothing to do for the extension: the store build updates itself. A plugin update only refreshes the MCP server, so restart your CLI afterwards. On the unpacked copy, re-run /chromeboost-setup and hit reload in chrome://extensions.

Tool calls fail at random, or the green dot keeps dropping

Look for two ChromeBoost cards in chrome://extensions, usually the store build next to an older unpacked copy. Both connect to the same local port, the server keeps only one connection, and each new one evicts the other, so they trade the socket back and forth on their reconnect timers. Remove whichever one you don't want.

Rather build from source?

Clone github.com/lordamdal/chromeboost, run npm install && npm run build, and load packages/extension/dist. The local WebSocket bridge takes the first free port in 7970–7980, so several sessions run side by side.

10 / Tool surface

Everything it can do, listed

You won't type any of these; your agent picks them. Listed so you know exactly what it's able to do on your machine.

ToolWhat it's for
hoverPark the cursor so hover-only menus, row actions and tooltips appear
dragPress, move, release — sliders, canvas, map panning, drag-and-drop reordering
probe_pointReport what's actually painted at a spot; diagnoses a click that went nowhere
hudMove, dock, collapse or hide the on-page panel
click_element · click_at_coordinatesTrusted clicks that hit-test first, scroll clear of fixed bars, and get past overlays
fill_input · fill_form · type_textReal keystrokes through React, contenteditable, CodeMirror, Monaco, TipTap
get_page_text · find_text · get_form_fieldsRead the page, including closed shadow DOM; secrets redacted by default
open_page · wait_for · list_tabs · switch_to_tabNavigate, wait for things to appear, work across tabs
take_screenshot · download_file · read_attachmentCapture steps, pull authenticated files, read PDFs and docs
fetch_url · inspect_request_headersRequests with your real cookies, bypassing page CSP
highlight_region · wait_for_clickHand control back to you — 2FA, passwords, payments, anything that publishes
write_to_envPut a captured key straight into .env