<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Nav8 Dev Notes]]></title><description><![CDATA[Nav8 Dev Notes]]></description><link>https://nav8-dev-notes.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Nav8 Dev Notes</title><link>https://nav8-dev-notes.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 06:23:01 GMT</lastBuildDate><atom:link href="https://nav8-dev-notes.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Give Claude Code your real browser: signed-in sessions, DevTools, HAR, Web Vitals over MCP]]></title><description><![CDATA[Disclosure: I'm on the Nav8 team. Nav8 is the browser this post is about.
If you use Claude Code for front-end or full-stack work, you've probably hit the same wall I did. The agent can read your code]]></description><link>https://nav8-dev-notes.hashnode.dev/give-claude-code-your-real-browser-signed-in-sessions-devtools-har-web-vitals-over-mcp</link><guid isPermaLink="true">https://nav8-dev-notes.hashnode.dev/give-claude-code-your-real-browser-signed-in-sessions-devtools-har-web-vitals-over-mcp</guid><category><![CDATA[claude]]></category><category><![CDATA[mcp]]></category><dc:creator><![CDATA[Oudi Antebi]]></dc:creator><pubDate>Mon, 05 Oct 2026 17:57:16 GMT</pubDate><content:encoded><![CDATA[<p><em>Disclosure: I'm on the Nav8 team. Nav8 is the browser this post is about.</em></p>
<p>If you use Claude Code for front-end or full-stack work, you've probably hit the same wall I did. The agent can read your code and run your tests, but it can't see the page. When it can, it's usually a fresh headless browser: no cookies, no logins, no staging SSO, and none of the state you were looking at when the bug happened.</p>
<p>Nav8 takes the opposite approach. It's a Chromium-based (CEF) browser for Apple Silicon Macs, and it exposes <strong>itself</strong>, your real browser with your real sessions, to Claude Code over MCP.</p>
<h2>Setup: there isn't really any</h2>
<p>On launch, Nav8 registers itself as a stdio MCP server in <code>~/.claude.json</code> (it saves a backup to <code>~/.claude.json.nav8-bak</code> first). Then:</p>
<pre><code class="language-bash">claude
</code></pre>
<p>The <code>nav8-browser</code> tools are already there, in any terminal. There's no extension to install and no separate Chrome profile to keep logged in.</p>
<h2>What Claude Code gets</h2>
<p>The tools fall into two groups.</p>
<p><strong>DevTools-grade inspection</strong></p>
<ul>
<li>Console messages</li>
<li>Full-fidelity HAR, captured through the CDP Network domain</li>
<li>Performance profile and trace</li>
<li>Core Web Vitals</li>
<li>Device emulation</li>
</ul>
<p><strong>Driving the page</strong></p>
<ul>
<li>Click / fill / type</li>
<li>PageMap: a structural map of the page (forms, buttons, links, data) instead of a screenshot</li>
<li>Parallel multi-tab work</li>
<li>Schema extraction</li>
<li>Cookie-authenticated fetch (requests go out with the session you're already signed into)</li>
<li>JS eval and screenshots</li>
</ul>
<p>Because all of this runs in your actual browser, "check the network calls on the billing page of staging" works even when staging sits behind a login. You're already signed in.</p>
<h2>"Highlight for Claude"</h2>
<p>This is my favourite part for UI work. In Nav8 you click an element on the page and attach a note ("this button wraps on narrow screens"), and Claude Code receives the <strong>exact DOM node</strong> along with your note. You don't have to describe which div you mean or paste selectors. You point, and the agent knows.</p>
<h2>A typical loop</h2>
<ol>
<li>Ask Claude Code to fix a layout or performance issue.</li>
<li>It opens the page in your Nav8 tab, reads the PageMap, console and HAR, and checks Core Web Vitals.</li>
<li>It edits the code, reloads, and measures again.</li>
<li>You highlight anything that still looks wrong, and it gets the exact elements.</li>
</ol>
<p>Every click happens in a real tab you can watch, and you can step in at any point.</p>
<h2>It's an MCP host too</h2>
<p>It works the other way as well. Inside Nav8 you can add any MCP server (a local stdio command or a hosted Streamable-HTTP URL) and scope it to specific agents. New servers get the narrowest scope by default. MCP secrets are stored in the macOS Keychain and injected at spawn, so <code>.mcp.json</code> only holds a <code>${NAV8_MCP_…}</code> placeholder.</p>
<h2>Safety rails</h2>
<p>The agent is free to read, search, compare and draft. Anything irreversible stops on an approval card first: buying or paying, sending an email or message, deleting, or granting OAuth/camera/mic access. Agents run as a local process on your Mac, and model costs go to your own provider account (it works with the Claude or Codex subscription you already have).</p>
<h2>Try it</h2>
<p>Nav8 is free during the private beta. It runs on Apple Silicon Macs (M1 and later). Access opens in batches: you leave your email and get a download link when your batch opens.</p>
<p>Developer docs and beta signup: <a href="https://nav8.ai/developers?utm_source=hashnode&amp;utm_medium=blog&amp;utm_campaign=dev-mcp">https://nav8.ai/developers?utm_source=hashnode&amp;utm_medium=blog&amp;utm_campaign=dev-mcp</a></p>
<p>I'd love to hear how you'd use a signed-in browser from Claude Code, and what tools you'd want added next.</p>
]]></content:encoded></item></channel></rss>