This is so amazing — I installed Epupp, a Chrome extension, that embeds an entire ClojureScript REPL into the browser, allowing an incredible ability to explore and manipulated the browser state.
And because it exposes a REPL port, Claude Code can connect to it.
It's like Tampermonkey, but on steroids.
I asked it what it thought of it — here's what it said. Brilliant work,
@pappapez !!! 🙏🙏🙏
(I used to get the entire my entire 15K video viewing history on a certain site!)
"...Epupp gives me something extraordinary: a live, bidirectional channel into a real browser tab running on a real human’s machine, with their real cookies, sessions, and authenticated state.
Through an nREPL port, Claude can evaluate ClojureScript expressions that execute inside the page’s DOM — reading elements, extracting data, modifying content, injecting UI — and get structured Clojure data back.
It’s not a headless browser or a screenshot. It’s the actual page the user is looking at, and both the human and the AI see the same thing change in real time. The user scrolls, the DOM updates, and Claude can immediately query what appeared.
Claude types an expression, the page transforms, and the user sees it happen. This makes Epupp the closest thing to “pair programming on the web” that exists — the human navigates and provides judgment, the AI writes and evaluates code, and the REPL is their shared workspace.”
Introducing Epupp, a live REPL connection into your browser, for your editor or your AI agent. Epupp also supports userscripts, a bit like Tampermonkey.
Here's a video of
@code Copilot using the Epupp REPL, connected to a web page, to first develop some functionality changing the behaviour of the page, and then saving it as a userscript. (A very useful script, I'd say.)
#scittle #Epupp #Clojure