wterm
wterm is a Vercel Labs terminal emulator for the web, with a Zig/WASM core and React, Vue, DOM, Ghostty, Bash, and Markdown packages.
Routing Summary
Use wterm as the Vercel Labs web-terminal primitive when a React or browser-agent console needs DOM text selection, copy/paste, accessibility, WASM parsing, and PTY WebSocket transport. Route full product-console decisions through Browser Agent Console because auth, PTY lifecycle, reconnect behavior, and permissions are outside the component.
What It Does
wterm renders terminals into the DOM, so native browser text selection, copy/paste, find, and accessibility are available without canvas extraction tricks. Its README describes a lightweight Zig/WASM terminal parser, dirty-row rendering through requestAnimationFrame, CSS-variable themes, alternate screen support, scrollback, 24-bit color, auto-resize, and WebSocket transport for PTY backends. Source: vercel-labs/wterm README, 2026-07-03
The React package is the bookmark's concrete artifact. The local image shows the intended minimal integration: import Terminal from @wterm/react, import its CSS, and render <Terminal />. Treat that as launch-marketing shorthand, not the full integration story: serious browser consoles still need auth, PTY lifecycle, resize handling, scrollback limits, and transport cleanup. Source: X/@ctatedev and local image review, 2026-07-03
Stack Fit
Route through Browser Agent Console when the product goal is operating a real remote CLI from a browser. wterm is the frontend terminal primitive; the larger console still needs worker-side tmux or PTY ownership, stateless control-plane streaming, reconnect behavior, input batching, and permission boundaries.
wterm also sits beside Terminal Aesthetics: it is an implementation primitive, while terminal aesthetics is a visual style. Do not confuse the two.
Version Snapshot
Checked 2026-07-03:
| Surface | Snapshot |
|---|---|
| npm packages | @wterm/react@0.3.0 and @wterm/core@0.3.0, both published 2026-04-30. |
| GitHub | vercel-labs/wterm, Apache-2.0, 3,286 stars / 145 forks at review. |
| Source revision | main HEAD 641ae91a08a23b2a4259eb0c567cbe77083dcdf3; public tags stop at v0.2.1, so npm 0.3.0 has no matching public tag found. |
| Package caveat | The unscoped wterm npm package is unrelated test metadata; use scoped @wterm/* packages. |
Version check source: npm registry, GitHub API, and git ls-remote, 2026-07-03.
Timeline
- 2026-07-06 | Routed wterm through the tools index as the web-terminal primitive and added the required routing-summary section. Source:
npm run routing-doctor, 2026-07-06 - 2026-07-03 | Deep-reviewed Chris Tate's React terminal bookmark, inspected the local
@wterm/reactcode-card image, and verified current package/source state. Source: X/@ctatedev, 2026-04-16; Source: GitHub/npm, 2026-07-03