The fastest way to send a full webpage screenshot to Claude Code (or any terminal-based AI CLI).
Press Option+A → switch to Claude → ⌘V → done. The whole page (not just the visible part) shows up as [Image #N]. 2 keystrokes total.
| Tool | Steps |
|---|---|
| GoFullPage / similar | screenshot → download PNG → open Finder → ⌘C the file → switch app → ⌘V = 5 steps |
| macOS ⌘⇧⌃4 | drag area → ⌘V = 2 steps (but visible viewport only — no scrolling pages) |
| Fullpage to Terminal | Option+A → ⌘V = 2 steps, and it’s the entire scrollable page |
The combination of full page + auto-on-clipboard-as-file-reference is what other extensions don’t ship. They give you a download to find and copy by hand.
Option + AAlt + A(Customize at chrome://extensions/shortcuts if it conflicts.)
| macOS | Windows / Linux | |
|---|---|---|
Capture full page → save to ~/Downloads/ |
✅ | ✅ |
Auto-paste image as [Image #N] in Claude Code (zero clicks after capture) |
✅ — needs one-time install.sh for the native helper |
❌ — native helper is macOS-only (uses osascript) |
Click button in viewer → clipboard gets @/absolute/path.png text → paste into Claude Code → it loads the file |
✅ | ✅ |
| Save manually with the “Save as” button | ✅ | ✅ |
Bottom line:
install.sh once.Ctrl+V in their terminal to paste the path text. Slightly more clicks, same end result.A Windows-native helper (PowerShell-based) is feasible but not yet built — open an issue if you need it.
fullpage-shot.zipchrome://extensionsfullpage-shot/ foldercd fullpage-shot/native-host
./install.sh <YOUR_EXTENSION_ID>
Find your extension ID at chrome://extensions on the Fullpage Shot card. Done.
~/Downloads/⌘V, hit Enter@/Users/…/foo.png (or C:\…) → paste in terminal → hit Enter[Image #N]Terminal apps (Terminal.app, iTerm2, Windows Terminal, …) don’t accept image MIME types from the clipboard — ⌘V / Ctrl+V only pastes text. So a “screenshot tool that copies the image bytes” is useless for terminal-based AI CLIs.
This extension solves it two ways:
[Image #N], or (b) write the absolute path as plain text — paste it, hit Enter, Claude Code loads the file.Open chrome://extensions/shortcuts, set a different combo. Don’t use ⌘⇧S — it conflicts with macOS Save As.
⌘V in terminal pastes nothingThe native helper write may have failed. Open the viewer and click the big button — that falls back to writing @path text, which always works.
Check the helper log: cat /tmp/fullpage-shot-host.log
Pages taller than 16384 px hit the Chromium 2D-canvas hard limit. The viewer shows a red warning. Manually scroll & re-trigger if a page has weird lazy-loading.
Should be fixed in v1.x — the extension neutralizes position: fixed/sticky before capturing and restores after. If it still happens, the page probably uses transform to fake sticky.
The extension auto-detects the inner scrolling container. If it picks the wrong element, open the service-worker console at chrome://extensions and look at the [fullpage-shot] scroll info: log.
chrome://, chrome-extension://, view-source: etc. — Chrome forbids extension access. No workaround.
fullpage-shot/
├── manifest.json
├── background.js # capture + scroll-stitch + save to disk + native message
├── offscreen.html
├── offscreen.js # plays shutter.wav
├── viewer.html # preview + big button + hotkey banner
├── viewer.js # clipboard fallback + i18n
├── shutter.wav # shutter sound (>1500 Hz)
├── icons/ # 16 / 48 / 128
├── _locales/en/ # English UI strings (more languages can be dropped in)
├── native-host/ # macOS-only native helper for clipboard file-reference write
│ ├── copy_file_to_clipboard.sh
│ └── install.sh
└── tools/
├── generate_shutter.py
└── generate_icons.py