Living on the Linux Console — Part 2: casty, a Full Browser for TTY
Source: Dev.to
Introduction
“GUI isn’t an option.” — Anonymous
In Part 1 I built bcon – a GPU‑accelerated terminal emulator for the Linux console.
But there’s one thing you can’t escape as a developer: a web browser.
AI coding agents can handle research, but checking that your own web app renders correctly, reviewing GitHub Actions, PRs, and other tasks still require a real browser.
Existing options
| Tool | Engine | Rendering | JavaScript | Site fidelity | No GUI env | Text copy | Mouse | Install |
|---|---|---|---|---|---|---|---|---|
| eww | Emacs shr | Text + limited images | ❌ | 🔴 Low | ✅ (Linux) | ✅ | ❌ | M-x package-install |
| browsh | headless Firefox | ANSI block chars | ✅ | 🟡 Low | ✅ (Linux) / ❌ (Mac) | ✅ | 🔺 | go install |
| Carbonyl | Chromium fork | Unicode blocks (▄ + 24‑bit) | ✅ (WebGL/WebGPU) | 🟡 Medium | ✅ | ✅ | ✅ | npm i -g carbonyl |
| awrit | Electron | Kitty Graphics | ✅ | 🟢 High | ❌ (display server required) | ❌ | ✅ | curl | bash |
| casty ⭐ | Chrome headless‑shell | Kitty Graphics | ✅ | 🟢 High | ✅ (no X11, SSH‑friendly) | ✅ (Alt + C) | ✅ | npm i -g @sanohiro/casty |
No existing tool checked all the boxes (JavaScript + CSS + high fidelity + text copy + no GUI required), so I built casty.
casty
- Repository:
- Install globally:
npm i -g @sanohiro/castycasty runs on any Kitty‑Graphics‑compatible terminal (e.g., bcon, Ghostty, Kitty).
How it works
- Launches Chrome headless‑shell (auto‑downloaded to
~/.casty/on first run). - Connects via CDP (Chrome DevTools Protocol) over a WebSocket.
- Captures screenshots and streams them to the terminal using the Kitty Graphics Protocol.
- Forwards keyboard and mouse events from the terminal back to Chrome via CDP.
Cookies and storage are persisted in ~/.casty/, so you can log in to Google and other services normally.
Demo highlights
- casty running on the Linux console inside bcon
- YouTube video playback inside casty on bcon
- Editing a React app with Claude Code while watching changes live in casty (UI shown in Japanese).
Changes are reflected instantly, and the workflow “just works.” 😎
Conclusion
With casty you can browse the modern web, watch videos, and develop interactively—all from a pure Linux console. More to come.