Publish HTML from Claude Code
Claude Code can write a report, a chart or a small app in a minute, but a file on your disk is hard to show anyone. Connect it to Openpane once, and it publishes what it makes as a page at its own link, then keeps that page up to date as you work.
Connect Claude Code
You need an Openpane API key. The API keys page makes one for Claude Code and fills it into every step. Here, the steps show YOUR_API_KEY where it goes.
Add Openpane
Run it in any terminal.
--scope usermakes Openpane available in every project.TerminalmacOS · Linux · Windows claude mcp add --transport http --scope user openpane https://openpane.oblaidish.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"Check it
Openpane should show as connected.
Terminalcheck claude mcp list
Claude Code in VS Code, Cursor and JetBrains reads the same settings, so Openpane is there too. To set it up for everyone in a repository, see Connect Claude Code.
Ask for a page
Start claude in your project and say what you want to see. Mention Openpane or a pane, so Claude publishes it instead of saving a file:
Chart this repository's commits per week over the last year, and publish it as an Openpane pane.Turn coverage/coverage-summary.json into a dashboard pane, least-covered files first.Publish docs/architecture.md as a Markdown pane.Claude writes the page and sends it to Openpane with the create_pane tool, as HTML, React or Markdown, whichever suits it. It answers with the pane's link, such as https://openpane.oblaidish.com/p/k7m2xq9fha. The pane is private: only you can open it, signed in, until you share it.
Change it, keep the link
Ask for changes in the same session, such as “make the bars horizontal” or “add a table under the chart”. Claude edits the pane with update_pane: the link stays the same, and every change is saved as a new version. Anyone who has the pane open gets the latest with the reload button in its bar.
In a later session, ask Claude to find the pane: list_panes lists yours, and get_pane reads its source back, so Claude can pick up where it left off.
Make it live
A pane is a real web page, so it can fetch its data each time it opens instead of freezing what Claude saw. Ask for that, and the same link shows current numbers to everyone who opens it:
Make a pane that charts daily npm downloads for react, vue and svelte, fetched live from api.npmjs.org.Panes can fetch from APIs that allow requests from any origin, and load libraries from a CDN. Live dashboards goes further.
Share it
Ask Claude, or open the pane's Share page:
- Unlisted: anyone with the link can open it, without an account.
- Public: also listed on Openpane's home page, and open to search engines.
- People, by email: they open it by signing in with that address. When Claude shares a pane, it only asks: you approve on the Share page.
Unlisted and public panes can also be embedded in any website with one line of HTML. More in Sharing.
Codex, Gemini CLI and other agents
Every MCP client gets the same seven tools, so the same requests work. Make each one its own key on the API keys page.
Codex
The Codex CLI, its IDE extension and its desktop app share ~/.codex/config.toml:
[mcp_servers.openpane]
url = "https://openpane.oblaidish.com/api/mcp"
http_headers = { "Authorization" = "Bearer YOUR_API_KEY" }Gemini CLI
gemini mcp add --transport http --scope user --header "Authorization: Bearer YOUR_API_KEY" openpane https://openpane.oblaidish.com/api/mcpAntigravity, Cursor, VS Code, Zed and Devin Desktop are in Connect your AI.
Good to know
- A pane is one page, up to 1 MB. It can load libraries from a CDN but not files from your project, so Claude puts the data and styles in the page.
- React panes can import only
reactandreact-dom. For a chart library, ask for an HTML pane that loads it from a CDN. - Panes run in a sandbox on a separate domain, so a pane can't read your Openpane account, your cookies or your computer.
- What Claude writes into a pane, anyone who can open it can read: keep panes with private numbers private.
Pane types has the details.
Made this way
Claude Code made each of these through the Openpane MCP server.
- Live earthquake map: the last 24 hoursHTML paneEvery earthquake the U.S. Geological Survey has located, worldwide. The feed refreshes each minute.
- Cron expression explainerReact paneType a crontab schedule to see what it means, when it runs next and which days it lands on. It follows classic cron, as on Linux and macOS.
- How MCP works: an interactive walkthroughHTML paneAn AI app asks an MCP server what it can do, then calls one of its tools. Step through one real exchange with Openpane’s MCP server, message by message…