vtm: Create a Text-Based Desktop and Terminal Multiplexer

Summary
vtm is a C++ virtual terminal multiplexer that can run a text-based desktop, host command-line apps, or act as a standalone terminal. It suits users who want nested terminal workspaces across Windows and Unix-like systems.
At a glance
- Language
- C++
- License
- MIT
- Stars
- 3.4k
- Forks
- 80
- Added to OSRepos
- December 2, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
vtm combines terminal multiplexing with a text-based desktop environment. It runs command-line applications inside nestable workspaces, offering a way to organize terminal tools without relying on a conventional graphical desktop.
It is aimed at people who work primarily in terminals and want a consistent interface across native windows and standard consoles. Its DirectVT protocol also supports connecting to a vtm session over SSH.
Key Features
- Starts a text-based desktop environment with the
vtmcommand. - Runs as a standalone terminal emulator with a selected shell.
- Wraps command-line applications in its workspace.
- Supports infinite nesting of terminal environments.
- Connects to remote vtm instances over SSH using the DirectVT protocol.
- Provides builds for Windows, Linux, macOS, and several BSD systems.
- Includes example HybridTUI apps and demos.
Use Cases
- Terminal-focused developers can group command-line tools in a desktop-like workspace.
- Users working across multiple consoles can run nested terminal sessions and keep applications organized.
- Administrators can connect to a remote vtm environment over SSH using DirectVT.
- People who need a standalone terminal emulator can launch vtm with their shell.
Project Facts
- Language: C++
- License: MIT
- Stars: 3.4k
- Forks: 80
- Topics: desktop-environment, htui, hybrid-tui, multiplexer, terminal, text-based, windows-console
- Archived: No
Getting Started
Run vtm to start the desktop environment, or vtm --run term [<your_shell>] to use terminal mode. See the README for downloads, documentation, and other ways to run it.
Alternatives
- Zellij: Zellij focuses on developer terminal sessions with panes, tabs, collaboration, and plugins, while vtm can also host a text-based desktop or act as a standalone terminal.
Considerations
- Using vtm requires a compatible terminal or native console. The README links to a list of tested terminals.
- GUI-window rendering is not available on macOS, so macOS users need a terminal emulator.
- The project supports multiple operating systems, but platform and terminal behavior may differ. Consult the documentation and tested-terminal list before relying on a specific setup.
Source repository
Open the original repository on GitHub.
12 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

fx: Run a Unix-Style Coding Agent in Your Terminal
September 26, 2026
fx is a native Zig coding-agent CLI with an interactive shell, one-shot requests, and embedding options. It suits developers who want an extensible, model-agnostic agent that fits terminal workflows rather than a full-screen IDE.

agentskit: Build AI Agents in JavaScript
September 20, 2026
AgentsKit is a TypeScript toolkit for building JavaScript AI agents from composable packages for model adapters, runtime, tools, memory, retrieval, and user interfaces. It suits developers who need more than a chat SDK and want to keep provider and component choices flexible.

coven: Run Project-Scoped AI Coding-Agent Sessions
September 18, 2026
Coven is a local-first Rust runtime for running coding-agent tools within project boundaries. It provides shared session management, durable event storage, and a local API for developers coordinating work across supported harnesses.

rimz: Coordinate Coding Agents in tmux and Zellij
September 18, 2026
RimZ adds a live control dashboard for coding agents running in tmux or Zellij. It helps developers monitor, message, and automate multiple agents from one terminal workspace, with support for local and remote sessions.