Ghostweb Release
Ghostweb wraps Ghostty WASM to make hosting CLIs/TUIs for browser use easy.

I built this after learning about the ghostty-web project, a WASM-complied Ghostty terminal emulator. The same use cases are covered by xterm.js but ghostty-web uses the libghostty code instead of a purpose-built Javascript terminal emulator, and it renders graphemes reliably. Ghostweb simply wraps ghostty-web in an interface that makes it easy to host a given command line process for use in a browser.
I’m a big fan of TUI interfaces for engineers, there are a number of good frameworks for building TUIs now and the potential for addressing longstanding trade-offs in engineering/operations tooling is high. In corporate environments we have endless debates about CLIs vs web GUIs: one is repeatable, scriptable, and legible to LLMs, and the other is spatial, linkable, and legible to management. There’s never enough budget to fund both interfaces adequately and even if there is, they get implemented in separate codebases with no realistic way to maintain parity between them. TUIs have the potential to bridge this divide but only if we can make them legible/usable by non-engineers. Ghostty-web seems like the previously-missing key to this.
Beyond making TUIs more accessible, another use case I see potential for is a kind of multiplayer cloud coding agent environment. Say I have a dev workspace with a feature in progress or in the middle of some deep operational debugging or data analysis. I may have one or more coding agent sessions filled with important context, and potentially some set of data or tools I’ve collected in pursuit of my goal. To hand this off or get help I’d much rather say:
- “Here’s my session, I gave you OAUTH access: https://myworkspace.foo.net/claude1" than something like:
- “I pushed my WIP to this branch, you’ll need to run these scripts to regenerate the data and then here’s some context I had Claude dump out, we already tried x y and z”.
Installation and Use
npm i -g @dvroom-dev/ghostweb
ghostweb -- claude