Give Your AI Agent an Intranet
This morning Claude Code spent two hours auditing my TextExpander library. It decoded the app’s internal database and analyzed 9,415 snippet expansions going back to 2022. It archived 54 dead snippets I hadn’t touched in years. Then it built me a clean HTML dashboard summarizing all of it.
And then I had to open Finder, click through four folders, and double-click a file to actually see it.
That tiny moment bugged me more than it should have. My agent works like an analyst. Then it hands me the deliverable like it’s 1999.
Here’s the thing: coding agents love making local HTML pages. Dashboards, reports, one-pagers, client briefs. I have dozens of them on my machine now. The pages are great. Getting to them is the annoying part. You’d think a file:// link in the terminal would just work, right? It even shows up as clickable. Click it and nothing happens. Most terminal and agent UIs block file:// links for security reasons.
The fix took 10 minutes.
One tiny static web server, running as a macOS LaunchAgent, serving my entire AI workspace folder on localhost. Now every page my agent makes is a normal link:
http://localhost:8899/textexpander-code/te-dashboard.html
Click. It opens. Done.
Under the hood it’s just python3 -m http.server using the Python that ships with macOS. It binds to 127.0.0.1 only, so nothing is exposed to your network. It starts at login and restarts itself if it dies. Zero dependencies.
The second half of the trick is one rule in my CLAUDE.md file: whenever you create or reference a local HTML page, print its localhost link. That’s it. Now every dashboard my agent builds arrives in the conversation as a clickable link. Any project. Forever.
The bigger lesson for me: when you work with agents every day, small friction compounds. I open agent-made pages 10 to 20 times a day. Four Finder clicks each time is a paper cut you stop noticing. Pay attention to the moments where you sigh while working with your AI. Each sigh is a system waiting to be built.
I put the whole setup in a small repo: install script, the LaunchAgent, the CLAUDE.md rule you paste in. Grab it here: github.com/humanrouter/claude-pages
If your agent keeps making files you never look at, give it a place to publish.