Show HN: Open-source, searchable HTML workspace for Claude Code

anoop_kumar1 pts0 comments

Mirror, a live HTML view of your Claude Code conversations

What it is

Your terminal sessions, as a readable workspace.

Claude Code runs in your terminal, where long conversations scroll away fast. Mirror is a plugin that mirrors those conversations into a browser tab: rendered markdown, syntax-highlighted code, collapsible tool calls, a list of all your sessions, and full-text search across them. It reads the transcript files Claude Code already writes, so it never calls a model and never costs a token.

New to Claude Code? It is Anthropic's coding agent that runs in your terminal. Install it first (it needs Node.js):

# install Claude Code, then sign in when it launches<br>npm install -g @anthropic-ai/claude-code<br>claude<br>Full instructions: docs.claude.com/en/docs/claude-code. Once claude works in your terminal, add Mirror below.

Install Mirror

Three steps to a live link.

Clone the plugin.<br>Put it anywhere on your machine.

git clone https://github.com/anona-labs/mirror.git

Start Claude Code with the plugin loaded.<br>Point Claude Code at the folder you just cloned. Run this from any project you want to work in.

claude --plugin-dir /path/to/mirror<br>Prefer a permanent install? Add it through a local marketplace instead:

claude plugin marketplace add /path/to/mirror<br>claude plugin install mirror

Open the link Mirror prints.<br>On startup you will see a line like this. Open it in your browser.

爵 Mirror live view: http://localhost:7842

Requirements: Python 3.8+ (already on macOS and most Linux) and Claude Code. There is nothing to pip install or build. If you edit plugin files during development, run /reload-plugins inside Claude Code.

How to use it

Read, switch, search.

Watch the live session<br>The conversation you are in appears on the right and updates after every turn, keeping your scroll position. A green dot marks it live.

Switch between sessions<br>The left sidebar lists every Claude Code session, grouped by project and sorted by recency. Click any one to read it.

Search and find<br>Type in the search box to find any message across all your sessions, ranked by relevance, with a toggle to limit results to the current project. Press ⌘F / Ctrl‑F to find within the open session, reaching into collapsed thinking and tool calls. Click a result to jump to it.

Make it yours<br>From the top bar: toggle dark and light, turn diagrams on or off, hide thinking or tool calls, export a session to Markdown, and copy a Resume command (or hover any sidebar row). It remembers your choices. Run /mirror to reopen the link.

Try these

Get a feel for it in five minutes.

Give Claude one of these prompts and see exactly what Mirror renders. Use the arrows, the dots, or swipe to move through the examples.

PromptDraw a mermaid diagram of how a request flows through this app.Copy

localhost:7842 &middot; diagram

You get a real diagram. Flip any one to its source, or toggle diagrams on and off from the top bar.

PromptRead every file in src/ and tell me what each one does.Copy

localhost:7842 &middot; tools

The tool calls collapse into one group with a count and an expand-all control, so a busy turn stays readable.

PromptWhat looks wrong in this screenshot?Copy

localhost:7842 &middot; images

Your image renders inline, and so do screenshots your tools take, instead of a wall of base64.

PromptPrint package.json in full and explain each dependency.Copy

localhost:7842 &middot; output

Long output folds behind "Show more," and every code block gets a copy button on hover.

In MirrorSearch: rollback

localhost:7842 &middot; search

Find anything across every session, ranked by relevance with matches highlighted, and scope it to the current project with one toggle. Click a result to jump straight to it.

In MirrorPress ⌘F / Ctrl‑F, then type

localhost:7842 &middot; find

Find inside the current session, even text tucked inside collapsed thinking and tool calls. Mirror opens each one as you step through the matches.

In MirrorOpen Insights from the top bar

localhost:7842 &middot; insights

See your work at a glance, totals, the busiest projects, and a per-session breakdown of turns, tool calls, and thinking, all read from the local index.

And from the top bar: press ⌘F / Ctrl‑F to find within a session, open Insights , Export a session to Markdown, toggle Diagrams , hide thinking or tool calls from the filter menu, copy a Resume command (top bar for the open session, or hover any row in the sidebar), and run /mirror any time to reopen the link.

Features

What you get.

No API cost<br>Mirror never calls a model. It renders the transcript your session already writes, so it rides on the Claude subscription you have.

Localhost only<br>The server binds to 127.0.0.1. Your transcripts, with their secrets and file contents, never leave your machine.

Multi-session workspace<br>Every session in one place, grouped by project, with live indicators and message counts.

Search and in-page find<br>Relevance-ranked full-text search across your whole...

claude code mirror session calls localhost

Related Articles