generative UI  ·  Claude Code  ·  Codex  ·  Gemini CLI

Generative UI for the coding agent
you already trust.

You run your coding agent in the terminal — Claude Code, Codex, or Gemini CLI — and it answers in walls of scrollback. Mirafold gives it generative UI: the same engine, your own keys, still on your machine — now painting live cards, tables, and charts you can pin and watch it update as it works.

Open source (MIT). Bring your own API key, or run fully local — your code, your key, and your model never leave your machine.

npm i -g mirafold
cd ~/your/project
mirafold
see it in 30 seconds
Mirafold demo: asking about a repo returns an overview card, a dependency table, and doc links; pasting latency numbers returns a live chart, which is pinned and then updated in place by the agent.
Two prompts, live and unscripted: ask about a repo → an overview card, a dependency table, real doc links. Paste latency numbers → a live chart (a real component, not a picture) → pin it → one more ask, and the agent updates the pinned chart in place.

# what it is

01

faithful, per agent

A Codex user gets Codex in the browser — never “Claude things.” Each agent drives its own engine and inherits your own settings, memory, and permission rules, exactly as in the terminal. Switching in and out costs nothing.

02

the agent paints UI

Output is treated as a UI-instruction stream: markdown streams in, and when a component says it better than prose, the agent mounts one — cards, tables, charts, task lists. When nothing fits, it ships arbitrary UI into a locked-down sandbox.

03

pin it, it stays live

Pin any rendered block to a dock and keep prompting — the agent updates it in place across turns. Ephemeral dashboards for the work you’re doing right now, gone when you unpin them.

04

never less than the terminal

A strict superset: thinking, full tool detail and diffs, subagent progress, the live task list, token and cost usage — all streamed live, then folded to dim one-liners so the transcript stays clean.

05

a shell the agent can’t touch

The agent paints the output zone and nothing else. The prompt box, the socket, and your credentials live in a trusted shell it can’t render into — and agent-authored HTML executes only inside a no-network, opaque-origin iframe.

06

your machine, your key

The daemon runs locally, like the terminal agent does. API keys never reach the browser. Or skip keys entirely and point your agent at a local model — Ollama, LM Studio, vLLM.

mission control across all your sessions a real-PTY ! passthrough — sudo and ssh prompts actually work every tab is a live viewport onto the same session

# pricing

free

$0 open source, MIT

  • The full local product — nothing held back
  • Claude Code, Codex, and Gemini CLI
  • Generative UI, pinned live widgets, sandboxed artifacts
  • Mission control across unlimited sessions
  • Your API key or a local model
get the source
launching soon

pro

$12/mo · $99/yr

The same generative-UI sessions, from any device.

  • Pair a phone, tablet, or any browser with a QR code
  • Sessions travel with you — pinned widgets and all
  • End-to-end encrypted relay: it forwards ciphertext and never sees your key, your code, or your content
  • Your API key or a local model, same as free
available at launch

# faq

Does it work with local models?

Yes. A session is fully local when the agent behind it points at a local inference server — Claude Code against Ollama’s Anthropic-style endpoint, or Codex against Ollama, LM Studio, or vLLM. Then nothing — code, key, or tokens — leaves your machine. The repo documents the exact recipe and an honest model/hardware table.

Where does my API key live?

In your local daemon’s environment, exactly as in a terminal — ANTHROPIC_API_KEY and friends. It is never serialized to the browser, and on Pro the relay carries only end-to-end-encrypted frames, so it never sees the key or the conversation.

Can I use my Claude / ChatGPT / Gemini subscription?

Mostly no, and that’s deliberate: the closed providers’ terms restrict driving a subscription login from a third-party app, so Mirafold takes API keys or local models instead — enforced in code, not fine print. (A Codex/ChatGPT sign-in is permitted for local use and works here, but not over the relay.) Local and open models have no restriction at all.

The agent generates UI — how is that safe?

Two zones, hard boundary. The agent’s output renders only into an output zone: streamed markdown (no raw HTML), schema-validated registry components, and — for arbitrary UI — a sandboxed iframe with an opaque origin and a CSP that cuts every network path. The prompt box, socket, and credentials live in a trusted shell the agent cannot render into, and anything a component does back is validated server-side against an allowlist.

Which agents — and can you add mine?

Claude Code, Codex, and Gemini CLI ship today, each behind its own adapter — none privileged. A new agent is one adapter behind a small interface, not a rewrite; the adapter spec in the repo documents exactly what an engine needs to qualify.

What’s open source, and what am I paying for?

The whole product — shell, daemon, all three adapters — is MIT. Pro is convenience infrastructure: the hosted relay that lets your devices reach your sessions from anywhere, end-to-end encrypted. If you’d rather self-host a relay, the protocol is in the open code.

Your agent, your key, your machine — a far better view.

npm i -g mirafold