Install
npx, or a global install.
Paste this into Claude Code, Codex, Cursor or any agent that can run commands. It does every step it can, and asks you for the two that happen in Chrome.
Set up the Page Scanner command line on this computer, so you can capture web pages through my Chrome. The install guide is https://docs.pagescanner.app/cli/install.md; every page of the documentation at https://docs.pagescanner.app is also Markdown at its address plus .md.
1. Run `node --version`. Page Scanner needs Node.js 24 or newer; if it is older or missing, stop and tell me.
2. Run `npm install -g @page-scanner/cli`.
3. Run `page-scanner install`. It sets up the helper Chrome starts to reach Page Scanner, for every Chromium browser on this computer, and prints which. It returns no secret.
4. Then ask me to do the part only I can do, in Chrome, and wait until I say it is done:
- install the Page Scanner extension if I have not, from https://chromewebstore.google.com/detail/page-scanner/oinkohacnbkapdnnhpidmoidmidlgaoj?utm_source=docs.pagescanner.app (or https://microsoftedge.microsoft.com/addons/detail/edlmbcahnbpdfibbimdkdbgiemadanhh?utm_source=docs.pagescanner.app in Edge);
- open its settings, and under Local Agents give this browser a name, press Connect and allow Chrome's prompt.
5. Run `page-scanner browsers` to check. The first connection can take up to a minute, so if nothing is listed, wait and run it again before you tell me it failed.
6. Ask me whether to add the Page Scanner agent skill, which teaches you when and how to use the command: `npx skills add sbd530/page-scanner-skills`.
Do not run `page-scanner pair` unless I ask for it: it prints a pairing token into this conversation, and the helper needs none.
When it works, tell me which browsers are connected.Or do it yourself, as follows.
Requirements
- Node.js 24 or newer.
- Google Chrome, or another Chromium browser, with the Page Scanner extension 1.3.0 or newer
installed. Earlier versions have no helper to connect through, no
--hideand nodesign.
Two ways
npx @page-scanner/cli --help # no installnpm install -g @page-scanner/cli # then just `page-scanner`Set it up
Once per machine:
page-scanner installIt sets up Page Scanner's helper for every Chromium browser it finds and says which. Open the
Page Scanner settings in Chrome, go to Local Agents, name the browser, press Connect, and
allow Chrome's prompt. There is no port or token to copy: Chrome starts the helper for the Page
Scanner extension, and the helper reads the pairing install saved in ~/.page-scanner/.
The same prompt asks to let Page Scanner manage tab groups, so a page a command opens sits in a
green Page Scanner group while it is scanned; turn off Group an agent's tabs first if you
would rather not allow it. The first connection can take up to a minute, because Chrome gives the
permission to a fresh start of the extension. Leave the settings open, or reload Page Scanner on
chrome://extensions to do it at once.
Chrome runs a separate copy of the extension in every profile, so your work profile and your personal profile are two different browsers here. Naming them is how you tell them apart later.
Run it again after installing another browser. page-scanner uninstall takes the helper out of
every browser. An unpacked build of the extension, loaded in developer mode, is found in the
browser's profiles and allowed as well, so there is no id to look up; --extension-id <id> adds
one by hand, and --browser-dir <dir> sets up only a profile started with --user-data-dir.
The helper runs on the Node that ran install, named by its full path, because Chrome starts it
without your shell's PATH. If that Node goes away (a version manager switched, or Homebrew
upgraded it), page-scanner status says so and the helper stops connecting; run install again.
--node /opt/homebrew/bin/node names a path that follows Homebrew's upgrades instead.
With a port and a token instead
For a machine where the helper cannot be installed: page-scanner pair prints a port and a token
and saves them to ~/.page-scanner/config.json. In Local Agents, set Connect through to
A port and a token, paste both, name the browser, and press Connect. pair waits up to
two minutes and tells you when the browser arrives.
Updating
npx @page-scanner/cli asks npm for the newest version each time it runs, and installs it when it
is newer, so there is nothing to update. A global install stays on the version it installed, and
while it is there npx runs that copy too:
npm install -g @page-scanner/cli@latestThe next command that finds the old daemon still running shuts it down and starts its own. The
pairing in ~/.page-scanner/config.json carries over, and the extension reconnects by itself, so
nothing needs pairing again.
If you also use the MCP server, keep the two on the same version. A command replaces a daemon of any other version, or of another build of the same version (which happens when the CLI is built from source), so two versions on one machine keep replacing each other's daemon, and the browser drops its connection each time. A command does not replace one in the middle of a capture: it waits up to two minutes for the capture to end, and a daemon from 0.3.6 on that an older command asks to stop finishes its captures first.