Exnos lets your coding agent see the real page in your Chrome, so "done" means verified, not guessed. One tool call returns every field, every button, every console error, the visible text, in milliseconds. Read-only. Local. Free forever, no limits.
Experimental. It reads a live Chrome tab through a local bridge, so it depends on browser behaviour and on the structure of pages we do not control. Expect it to break when a site ships a change. MIT, as-is, no warranty and no support promise. Do not make anything load-bearing depend on it without your own fallback.
Every coding agent has said "the page now works" while the page sat broken in front of you. It was guessing, because it could not see. Exnos ends the guessing: before your AI claims a web change landed, it asks the browser. The browser answers with facts.
No screenshots, no OCR, no debug-port relaunch. Exnos reads the live DOM through a local socket and answers before you finish blinking.
Exnos never clicks, never types, never navigates. It only looks. Your session, your form state, your logins stay exactly as they were.
The extension talks to a server on 127.0.0.1 and nowhere else. No accounts, no tracking, no cloud. Nothing leaves your machine. You can confirm this yourself with any network monitor. Exnos produces zero outbound traffic beyond the local WebSocket.
Free forever, no account, zero dependencies. MIT licensed, which is the honest pairing: use it, modify it, ship it, and carry the risk yourself. As-is, no warranty, no support promise. It is given away because it is useful, not because it is finished.
Every line is public and MIT licensed: read it, fork it, ship it. This is the one GOL product that is open, and it is open deliberately. Exnos can see your browser, and no promise we write is worth as much as the source you can read yourself. github.com/golproductions/exnos →
A single exnos_verify call returns everything an agent needs to judge whether its change really landed. Point it at any tab, zoom into any selector.
URL, title, and ready state of the tab, so "navigation worked" is a fact, not a hope.
Every visible input with its current value. What the user would actually see typed in.
Every button with its disabled state. A greyed-out submit tells its own story.
Console errors and uncaught exceptions since page load, captured from the first instruction.
Visible alerts and warnings on the page, the things users see and agents miss.
Visible text, scroll position, and any selector's HTML, visibility, and content on request.
"Reality, not confidence."
Exnos is an MCP server plus a Chrome extension. No debug port, no special Chrome launch, no configuration. It heals itself: restart Chrome or the server and the connection is back within seconds.
claude mcp add-json --scope user exnos '{"command":"npx","args":["@golproductions/exnos"]}'
Works with Claude Code and any MCP-capable agent.
Run npx @golproductions/exnos path to see where it lives, then load it unpacked at chrome://extensions. The badge reads ON when connected.
Free forever. Read-only. Everything stays on your machine.