Docs

Install

npx, or a global install.

Let your agent set it up

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 --hide and no design.

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 install

It 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@latest

The 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.

On this page