Project

ghostty-web

active

Ghostty terminal sessions in a browser — xterm.js compatibility.

Overview

Forked from coder/ghostty-web. Adapted for integration with webterm and go-te for AI agent terminal workflows.

ghostty-web runs Ghostty in server mode, proxies sessions to a browser via WebSocket, and implements an xterm.js-compatible API. Shares go-te with webterm and go-rdp.

How it works

Ghostty runs server-mode connected to a Unix socket. The Go server proxies to WebSocket and translates protocols. The TypeScript frontend implements the xterm.js ITerminalAddon interface so existing extensions work unchanged. go-te maintains server-side terminal state for tile previews and copy-on-select.

Features
Ghostty in browser

Server-side Ghostty. Browser gets output over WebSocket.

🔌
xterm.js compat

Existing xterm.js tooling works unchanged.

🔗
Shared engine

go-te used by webterm, go-rdp, and ghostty-web.

Architecture
Browser xterm.js TypeScript WS bridge Ghostty PTY native process
Posts
Notes for May 3-10