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
Updated a few seconds ago
glimpse open localhost:5173 glimpse read → {title, url, text, console: 4 logs, errors: 0} glimpse click "button.place-order" glimpse wait --text "Order placed" ✓ visible
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.
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.
read returns page text, console output, and uncaught errors. shot saves a screenshot. snapshot prints the accessibility tree, a text outline of the page.click, scroll, and wait for elements. These are the only intentionally state-changing verbs, never a side effect of reading.# open the app under review in the CDP Chrome glimpse open http://localhost:3000 # read the rendered page + console + errors glimpse read → {title, url, text, console, errors} # drive it, then verify what the user sees glimpse click "button.checkout" glimpse wait --text "Order placed" glimpse shot /tmp/after.png
When you ask, the question is captured with a text-quote anchor1: the exact words plus a little surrounding context, so the highlight can be re-found even after the document re-renders.
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.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.
allow-scripts-only iframe (opaque origin), so artifact JS can't reach the shell or a sibling.share (or the canvas Share button) is private and password-protected by default, and it tells you before anything leaves your machine.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.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.
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.
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.
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.
glimpse open starts the loopback server, launches a dedicated Chrome, and opens the canvas. The first run shows a short guide.
glimpse demo loads three examples. Select a sentence and ask a question. Your agent receives it with glimpse poll and answers with glimpse reply.
# 1 · clone & install (CLI → ~/.local/bin, canvas → ~/.glimpse) git clone https://github.com/YushengAuggie/glimpse.git cd glimpse && ./install.sh # 2 · confirm deps, then serve + launch Chrome + open the canvas glimpse doctor glimpse open # 3 · load the demo set: a guide, a diagram, and a highlight-chat example glimpse demo # 4 · agent side: wait for a highlighted question, then answer it in place glimpse poll glimpse reply glimpse-guide "Here is why..." --to <id> # 5 · agent side: open your running app and read what the user sees glimpse open http://localhost:3000 glimpse read # optional: register the chrome-devtools MCP server for MCP-capable agents ./install.sh --mcp claude
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.
| Command | What it does |
|---|---|
| Canvas | |
glimpse open [url|#slug] | Serve, launch Chrome, and open the canvas. The first run shows a short guide. |
glimpse demo | Load 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 · reply | Answer questions on a walkthrough with cited source evidence. Pair with glimpse poll --walkthrough <slug> --session <token>. |
glimpse thread <slug> · threads | Print one conversation thread, or list all of them. |
glimpse daemon | Optional, 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 · wait | Interact 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 · unpin | Keep the sidebar tidy (pinned artifacts are always kept). |
| Advanced | |
glimpse doctor | Check 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 menubar | macOS menu-bar app that keeps the always-on agent running. |
glimpse serve · stop · chrome | Start or stop the static server, or launch the debuggable Chrome, on its own. |
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.