Local · real Chrome over CDP · two-way

Your AI coding agent gets a real browser.

Glimpse renders your agent's work as live HTML and drives your running app through a real Chrome. Your agent inspects the real page; you highlight anything on screen to talk back. It all runs on your machine.

Local by default Real Chrome + Node No account, no server, no telemetry One script · ~1 min setup MIT licensed

Why Glimpse

Three reasons your agent needs more than a terminal.

A terminal shows text. Glimpse gives your agent a real browser to test your app, gives you a live page you answer by highlighting, and keeps your work on your machine.

1Real Chrome over CDP

Your agent tests the real app, not a guess.

Glimpse renders through a real Chrome, and the same connection opens your running app. Your agent sees the live page: its text, console logs, and errors. A screenshot or a static page can't show that.

  • Inspect, read-only: read returns page text, console output, and uncaught errors. shot saves a screenshot. snapshot prints the accessibility tree, a text outline of the page.
  • Interact: click, scroll, and wait for elements. These are the only intentionally state-changing verbs, never a side effect of reading.
  • A dedicated profile: the CDP Chrome doesn't see your everyday logins or tabs, only what you load into it.
2Two-way · durable threads

Highlight anything. Ask in place. It sticks.

Select any passage and ask. The answer appears in the margin, next to your highlight. Each thread is saved with its document, so it survives refreshes, restarts, and new sessions.

  • glimpse poll is one blocking call an agent parks on. It waits for feedback, prints a token-efficient record, and returns.
  • glimpse ask flips it around: the agent publishes an interactive form and blocks until you approve, pick, or note.
  • glimpse walkthrough turns a code path into a clickable graph tied to real source lines. Ask about any step. The agent answers with cited source lines, and a citation to code that changed is rejected.
  • No new network port. Your agent pulls your questions over the Chrome connection that is already open. Nothing new listens on the network.
3Local · private · serverless

Private by default. Nothing leaves unless you say so.

Everything runs on your machine: a static file server and a Chrome window, both on loopback. No account, no hosted server, no telemetry. When you step away, an optional daemon can keep answering your questions.

  • Sandboxed artifacts: each renders in an allow-scripts-only iframe (opaque origin), so artifact JS can't reach the shell or a sibling.
  • Egress is loud, never silent: feedback is treated as untrusted data and secret-scrubbed. share (or the canvas Share button) is private and password-protected by default, and it tells you before anything leaves your machine.
  • Always-on, optional: glimpse daemon sends each highlighted question to the Anthropic-compatible endpoint you configure. Q&A only: no tools, and it writes nothing but the answer. On macOS, glimpse menubar keeps it running.

What leaves your machine

Only what you send. share uploads a private, password-protected copy and warns you first. The optional daemon sends a highlighted question to your configured endpoint. Nothing else calls out.

Don't take our word for it: the data flow, alternatives, and full threat model are in docs/DESIGN.md and SECURITY.md.

Gallery

What your agent can put on screen.

Agents usually answer in plain text. With Glimpse they publish plans, diagrams, tables, diffs, and code walkthroughs as pages you can read, highlight, and reply to. Every render below follows your theme.

DiagramFlows, state, and architecture
Quickstart

Running in about a minute.

One script, and the whole runtime is just Node 22+ and Google Chrome. glimpse doctor tells you exactly what's missing. macOS and Linux are first-class; on Windows use WSL or Git Bash.

1

Clone & install

The installer runs a preflight, then drops the CLI into ~/.local/bin, the canvas into ~/.glimpse, and agent skills into ~/.claude/skills. Re-running is safe.

2

Open the canvas

glimpse open starts the loopback server, launches a dedicated Chrome, and opens the canvas. The first run shows a short guide.

3

Try it & talk back

glimpse demo loads three examples. Select a sentence and ask a question. Your agent receives it with glimpse poll and answers with glimpse reply.

Full usage guide ↗
CLI reference

Every command, by task.

Usually your agent runs these for you: Glimpse ships canvas, chrome-cdp, and explain skills for Claude Code and compatible agents. You can also run any command yourself.

CommandWhat it does
Canvas
glimpse open [url|#slug]Serve, launch Chrome, and open the canvas. The first run shows a short guide.
glimpse demoLoad three bundled examples (guide, diagram, highlight-chat) and open the canvas.
glimpse publish <slug> <title> [file] [--gate]Publish an HTML artifact (stdin if no file); the same slug updates in place. When the canvas is live, it checks the real render and warns about layout problems. --gate fails the run on a layout error.
glimpse explain <slug> <title> [spec]Publish an interactive code explainer (architecture · data flow · call stack).
glimpse walkthrough <slug> <title> <spec> --repo <path>Publish a clickable code walkthrough, each step tied to real source lines.
glimpse ask <slug> <title> [file] [--form]Publish a form and block until you answer; prints your choice as JSON.
glimpse audit <slug>Report real-render layout issues: overflow, clipped or overlapping text, and text too faint to read.
Converse
glimpse poll [--json] [--timeout N]Block until there's human feedback, print it, return. One call an agent parks on.
glimpse reply <slug> "answer" --to <id>Answer a highlighted question, pinned to its anchor.
glimpse walkthrough connect · context · evidence · replyAnswer questions on a walkthrough with cited source evidence. Pair with glimpse poll --walkthrough <slug> --session <token>.
glimpse thread <slug> · threadsPrint one conversation thread, or list all of them.
glimpse daemonOptional, always-on: answer highlighted questions with an LLM while you're away. Sends each question to your configured endpoint.
Drive Chrome
glimpse read [url]Navigate + print {title, url, text, console, errors}.
glimpse shot <out.png> [url]Screenshot the current (or given) page.
glimpse snapshot [#slug|url]Print the page's accessibility tree as an indented outline.
glimpse click · scroll · waitInteract with a live page (the only state-changing commands).
glimpse gc [--all]Close leftover tabs in the canvas Chrome. The canvas tab always stays.
Share & manage
glimpse export <slug> [--out path]Write a single self-contained offline HTML file. The canvas Export button does the same.
glimpse share <slug> [--public] [--password pw] [--update]Upload a portable copy, private and password-protected by default. --update keeps the same link. The canvas Share button opens the same choice.
glimpse shares [<slug>] [--json]Show your shared links and passwords again, from local records. Nothing is uploaded.
glimpse list · rm · clear · pin · unpinKeep the sidebar tidy (pinned artifacts are always kept).
Advanced
glimpse doctorCheck dependencies and running state. Exits non-zero when a required check fails.
glimpse bridge [--wait]Stream highlight-questions as JSON lines, for an agent that prefers a stream to poll.
glimpse menubarmacOS menu-bar app that keeps the always-on agent running.
glimpse serve · stop · chromeStart or stop the static server, or launch the debuggable Chrome, on its own.
Get started

Try it in your next agent session.

Clone the repo and run one install script. Then ask your agent to open your app, check it, and show you what it found. Your work stays on your machine unless you share it.