cd /news/ai-tools/turbo-vision-style-ui-for-claude-cod… Β· home β€Ί topics β€Ί ai-tools β€Ί article
[ARTICLE Β· art-169665] src=github.com β†— pub= topic=ai-tools verified=true sentiment=↑ positive

Turbo Vision-style UI for Claude Code

Developer runvnc released tvclaude, a fork of magiblot's tvterm terminal emulator built on the modern Turbo Vision port, which runs multiple Claude Code sessions in overlapping DOS-style windows on a blue desktop with a menu bar and status line. The tool tracks each session's state through Claude Code hooks β€” working (●), needs you (!), done (βœ“) or idle (β—‹) β€” and adds workspaces, an Alt-0 Session List, F8 to jump to the next session needing attention, and desktop persistence to ~/.config/tvclaude/desktop that reopens windows with claude --resume. It is installable from source via git clone --recursive, cmake and a Release build.

read4 min views3 publishedNov 14, 2026
Turbo Vision-style UI for Claude Code
Image: Michielbdejong (auto-discovered)

Claude Code sessions in Turbo Vision windows: a blue DOS-style desktop with a menu bar, numbered overlapping windows and a status line, in the spirit of Turbo Pascal and Turbo C++.

tvclaude is a fork of tvterm by magiblot, a terminal emulator built on the modern Turbo Vision port. The original tvterm README is in README.tvterm.md.

  • Several Claude sessions at once , each in its own window. Tile, cascade, zoom (F5), next (F6), close (Alt-F3), and Alt-1…9 to jump to a window.
  • Session status at a glance. Each session reports, through Claude Code hooks, whether it is working (●), needs you (!), is done (βœ“) or idle (β—‹). The window title shows it, the menu bar counts it, theSession List (Alt-0) lists every session, andF8 jumps to the next one that needs you.
  • Window names : a Claude window is named after the folder Claude is working in, and follows it when Claudecd s elsewhere. Session > Rename gives a window your own name (leave it empty to go back to the folder); the name is saved with the desktop. After the name, the title shows what the conversation is about, as /resume lists it (its /rename title, else Claude's own title, else the last prompt).
  • Workspaces : separate desktops of windows, e.g. one per project. Workspace > New workspace names one and can start a Claude session in its folder; F7 / Shift-F7 or the Workspace menu switch between them. Every session keeps running while hidden; the Session List and F8 reach sessions in any workspace, and the menu bar shows the workspace on screen.
  • Cascade that stays readable : after Window > Cascade, bringing a window forward re-cascades in the new order, so every title bar stays in view. Moving or resizing a window by hand leaves cascade mode.
  • New Claude session (F3) asks for a folder and can continue the last conversation there.New shell opens a plain terminal window.
  • Resume (File > Resume) lists your 9 most recent Claude conversations by title, folder and age, from any project;More sessions... lists them all. Each opens in a new window withclaude --resume , in its folder.
  • Turbo colors inside the windows : yellow text on dark blue, a matching Claude Code theme, and your own prompts drawn black on teal.
  • The desktop comes back. Like Turbo Pascal'sTURBO.DSK , tvclaude saves every workspace and window (folder, place, number and Claude conversation) to~/.config/tvclaude/desktop every few seconds and on exit. Started with no folders, it reopens them, each resuming its conversation withclaude --resume .
  • Detach and reattach withdtach : run the desktop under dtach, close the terminal, and every session keeps running.
Menu Items
File New Claude session (F3), Resume β–Έ, New shell, Export conversation, Change dir, DOS shell, Exit (Alt-X)
Edit Undo (rewind), Copy reply, Select text, Paste
Session Session list (Alt-0), Next needing you (F8), Rename, New conversation, Compact, Context, Review changes, New Claude session
Options Model, Permissions, Config
Info Usage, Stats
Workspace New workspace, Rename, Close workspace, Next (F7), Previous (Shift-F7), one entry per workspace
Window Tile, Tile rows, Cascade, Size/Move (Ctrl-F5), Zoom (F5), Next (F6), Previous (Shift-F6), Close (Alt-F3), Grab input
Help About, Claude status

The Claude items (Export, Undo, Copy reply, New conversation, Compact, Context, Review changes, the Options and Info menus and Claude status) type their slash command, shown beside each, into the Claude window in front.

F10 opens the menu bar. The desktop keeps these keys for itself; every other key goes to the session in the front window.

git clone --recursive https://github.com/runvnc/tvclaude.git
cd tvclaude
cmake . -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build

Requirements: CMake, a C++14 compiler, libncursesw, optionally libgpm (Linux), Perl (for the bundled libvterm), and Claude Code on your PATH.

./build/tvclaude                 # one Claude session in the current folder
./build/tvclaude ~/a ~/b ~/c     # one session per folder, tiled

To keep sessions running when the terminal closes:

dtach -A "$XDG_RUNTIME_DIR/tvclaude.sock" -r winch -z ./build/tvclaude

Run the same command again to reattach.

  • Each session runs claude --settings '<json>' --plugin-dir plugin/ . The settings select thetvclaude theme and add hooks that write the session's state to a file under$XDG_RUNTIME_DIR ; tvclaude polls those files. Nothing in your own Claude Code settings changes.
  • On start, tvclaude writes the theme to ~/.claude/themes/tvclaude.json (Claude Code reads themes only from there).
  • plugin/ is a small Claude Code plugin that draws your prompts black on teal while running inside tvclaude.
  • Sessions see TURBOVISION=1 in their environment.

MIT, as tvterm. See COPYRIGHT.

── more in #ai-tools 4 stories Β· sorted by recency
── more on @tvclaude 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/turbo-vision-style-u…] indexed:0 read:4min 2026-11-14 Β· β€”