But with things like kitty, I don't think we necessarily need to use a browser and can instead actually render HTML-described documents inline in the terminal itself. So here's kittyhtml.
You can pipe HTML to it and it renders the HTML+CSS inline in the terminal itself.
echo '<h1>hi</h1>' | kittyhtml
It can take raw HMTL, but also is a nice output target for invocations of claude -p.
claude -p "create a simple html page. return only the HTML and do not include markdown fences" | kittyhtml
Under the hood it's using https://github.com/DioxusLabs/blitz for the parsing/layout and then getting that rendered with kitty. So anything Bitz supports this supports.
As part of the npm package I ship an LLM skill that tells an LLM how to use this, but what I'm really ultimately aiming for here is to have this rendered inline in Claude Code. However, [CC doesn't yet support image protocols](https://github.com/anthropics/claude-code/issues/2266), but once it (inveitably?) does I would update the skill so that "create a plan in html and display it with kittyhtml" would have the plan (or whatever) rendered directly in your CC session.