Turbo Vision-style UI for Claude Code news update
The open-source tvclaude project brings a Borland Turbo Vision text interface to Claude Code, tiling multiple agent sessions across persistent desktop windows.
By Dillip Chowdary • Nov 14, 2026 • Source: github.com
In this post
Open-source developer runvnc released tvclaude, a terminal desktop environment embedding multiple concurrent Claude Code sessions in a classic text interface. The project adapts Borland Turbo Pascal styling, using numbered overlapping windows, a menu bar, and a status line on the modern Turbo Vision port. According to github.com's report, the system forks magiblot's tvterm terminal emulator under an open-source MIT license.
This release provides terminal workflow orchestration for software engineers coordinating parallel agentic coding sessions across local project directories. The architecture replaces disconnected terminal multiplexers with automated session notifications, persistent window geometry, and direct keyboard navigation. Developers running complex workflows gain immediate status visibility and background persistence without modifying their underlying Claude Code configuration files.
01Turbo Vision desktop for Claude Code
The interface organizes active Claude Code sessions into numbered, overlapping windows across a single terminal screen. Users can tile or cascade active views, zoom windows with F5, cycle tasks with F6, close them with Alt-F3, and switch directly using Alt-1 through Alt-9. Bringing a cascaded window forward automatically re-cascades the stack so title bars remain visible.
Each window tracks the working directory of its assigned agent, renaming itself whenever Claude changes folders. Workspaces allow developers to isolate distinct projects on independent virtual desktops, switching between environments with F7 and Shift-F7. Hidden sessions continue executing code in the background, ensuring uninterrupted task progression while keeping the desktop clean.
02Real-time status indicators and session tracking
Session monitoring operates through integrated hooks that publish agent state changes directly to the desktop interface. Visual glyphs mark each window title, showing a filled circle when Claude works, an exclamation mark when input is needed, a checkmark when complete, and an open circle when idle. The menu bar tallies these states continuously, while F8 jumps immediately to the next window waiting for input.
| Metric | Standard CLI | tvclaude Desktop |
|---|---|---|
| Concurrent sessions | Single active session | Multiple tiled windows (Alt-1 to 9) |
| Conversation history | Manual lookup | Instant menu listing 9 recent sessions |
| Status tracking | Unmonitored background tasks | Real-time glyphs for working, input, and done |
| Attention navigation | Manual terminal switching | Dedicated F8 shortcut to pending prompts |
| State recovery | Lost on shell exit | Automatic state saves every few seconds |

Opening the Session List with Alt-0 presents an indexed catalog of running agents across active workspaces. The catalog displays execution states alongside project directories, allowing developers to audit background tasks without manual terminal navigation. Color formatting mimics vintage development tools with yellow text on dark blue backgrounds and black user prompts on teal bars.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
03Native keyboard shortcuts and desktop persistence
A comprehensive menu bar mirrors classic development IDEs, exposing functions through File, Edit, Session, Options, Info, Workspace, Window, and Help menus. Pressing F10 activates the menu structure, while individual items forward their corresponding slash commands into the front window. Developers can trigger conversation exports, compacting routines, token usage inspections, and configuration dialogs without typing slash commands manually.
State persistence functions similarly to Turbo Pascal desktop files by saving active window coordinates, directory bindings, and conversation identifiers every few seconds. When the interface launches without path arguments, it reconstructs the exact workspace layout and resumes active conversations automatically. The File Resume menu also indexes the nine most recent Claude Code conversations across local directories.
04Compilation requirements and installation commands
Building the interface requires CMake, a C++14 compiler, libncursesw, Perl for compiling bundled libvterm, and optionally libgpm for Linux mouse support. Claude Code must also exist globally on the system PATH. The host software receives updates through the vendor package manager prior to building the desktop wrapper.
npm install -g @anthropic-ai/claude-code
git clone --recursive https://github.com/runvnc/tvclaude.git
cd tvclaude && cmake . -B ./build -DCMAKE_BUILD_TYPE=Release && cmake --build ./build
./build/tvclaude ~/a ~/b ~/c/model
claude --resumeExecuting the compiled binary without parameters launches a single Claude Code session inside the current terminal directory, while passing folder paths opens separate tiled sessions immediately. Pressing F3 creates a new session on demand, prompting for a folder path and offering to resume recent work. Persistent headless operation relies on dtach, keeping child agent sessions running smoothly when terminals close.
05Background runtime hooks and terminal detachment
Runtime execution isolates configuration changes by starting each session with custom settings flags and a dedicated local plugin directory. The wrapper writes its visual palette to the standard Claude Code themes directory on initialization, allowing the model to load custom colors safely. These dynamic flags ensure personal global settings remain untouched while enforcing theme requirements and notification hooks.
Session telemetry communicates through state files stored in the XDG runtime directory, which the parent interface polls continuously to update status indicators. Claude Code processes inherit an environment variable confirming execution inside Turbo Vision, while a bundled plugin renders user prompts in high-contrast text. Running child processes retain network access, allowing Claude to finish automated builds independently.
Turbo Vision-style UI for Claude Code news FAQ
What dependencies are required to compile tvclaude?
Compilation requires CMake, a C++14 compiler, libncursesw, Perl for bundled libvterm, optional libgpm for Linux mouse control, and Claude Code on PATH.
How does tvclaude track session status?
Integrated hooks write execution state to files in the XDG runtime directory, which the desktop polls to display working, idle, done, or prompt-needed glyphs.
How does the interface preserve running sessions when closing a terminal?
Users launch the binary under dtach with a Unix domain socket, allowing background processes to continue executing until reattached.
Where does tvclaude save workspace configurations?
The desktop automatically saves workspace layouts, directories, window coordinates, and conversation identifiers to the local desktop configuration file every few seconds.
Sources
Author
Dillip Chowdary
Writes Tech Bytes coverage of AI, engineering, and the tools that actually ship. Editor of Tech Pulse Daily.
Related on Tech Bytes
Advertisement