What's new in peek since launch

Since launch, peek has grown from a read-only session-forensics MCP into a supervised, auditable, portable forensics tool for AI coding agents — still local-first, still “debug what already happened in your real browser.” This is the honest account of what changed, grouped by what it lets your agent do.

peek is pre-1.0 alpha and side-project–maintained (Apache 2.0). Everything below ships today on npm (@peekdev/mcp, @peekdev/cli) and the Chrome Web Store extension. Each section links to a recipe that shows it end to end.

An agent hits a console error and asks peek what the user did right before it. The answer (open the orders page, open order #1001, click Place order, then the TypeError) is read from a real local recording, not a re-run.

1. Deeper forensic reads

The read path got more useful to an agent reasoning about a failure:

See it: See the causal chain that led to an error.

2. Repros that lock the regression

generate_playwright_repro got harder to break and easier to trust. It now emits resilient semantic locators (getByRole / getByTestId / getByPlaceholder / getByText, each uniqueness-checked against the snapshot, with a CSS-selector fallback) instead of brittle deep selectors, and it can seed a console-error-absence assertion — so the generated spec doesn’t just replay the steps, it fails if the original error comes back. The agent can re-run it to verify its own fix actually worked.

See it: Generate a Playwright repro from a real browser session.

3. Visible, revocable supervision

When you let the agent act on the page (the opt-in write path), the oversight is now first-class and on-screen:

See it: Assisted apply, with supervision.

4. Tamper-evident, and portable

Sessions and the actions taken on them became governable and shareable — without a cloud:

See it: Reproduce a bug from a teammate’s peek session.

5. Find sessions and verify integrity from the CLI

Two CLI additions make the local store easier to triage and audit:

6. Delegated connectors — supervised background daemons

peek connect is a supervised connector daemon: register a surface (currently Slack), run it once interactively to capture tokens, then peek connect start spawns a detached supervisor that keeps each connector alive and auto-restarts it on exit. Per-connector logs stream to ~/.peek/connect/logs/; the supervisor PID and each connector’s state are visible via peek connect status. Connectors extend peek’s reach beyond the browser — a Slack connector turns channel messages into queryable local sessions the same way the extension turns browser activity into sessions.

7. Claude Code plugin

peek is now a one-line Claude Code plugin install:

/plugin install peekdev@peek

This drops the peek MCP server and the Claude Code skill into place in a single command — no peek init required for MCP configuration. The plugin is hosted in the public repo and installable via the community catalog (/plugin marketplace add Cubenest/rrweb-stack).

The honest part

peek is local-first: peek uploads nothing — what your MCP client does with the data is up to you. That last clause matters: anything your agent reads from a session becomes context for whatever model your MCP client is using. And while peek masks passwords, PII-class values, and fields you mark private at capture time, the underlying rrweb full-page snapshots can still contain non-password free-text values that were on screen — so treat a recording, and a *.peekbundle you share, as you would the page itself. The read tools are non-mutating; the write tools require explicit per-origin consent.

Something out of date or inaccurate? Open a PR on this page — the goal is accuracy, not advocacy.