tuios README

The project's README from github.com/Gaurav-Gosain/tuios. As one markdown file: README.md.

tuios: a terminal window manager that knows what your agents are doing. Tilly, a small purple CRT whose screen is a tiled layout, stands beside the tuios wordmark and a tiled terminal session.

TUIOS: Terminal UI Operating System

Latest Release GoDoc Ask DeepWiki
Terminal Trove Tool of The Week

TUIOS

TUIOS is a modern terminal multiplexer and window manager built with Go. It provides a vim-like modal interface with multiple terminal panes, workspaces, BSP tiling, kitty graphics protocol support, and a command palette, all running inside your existing terminal. A daemon keeps sessions alive, reaches sessions on your other machines, and lets the coding agents in your panes report their state and message each other.

Built on the Charm stack (Bubble Tea v2, Lipgloss v2), TUIOS features event-driven rendering for near-zero idle CPU usage, flicker-free kitty image passthrough, and comprehensive keyboard/mouse interaction.

Documentation

Full documentation is available at tuios.dev (hosted) or in the docs/ folder. To try tuios without installing it, take the guided tour at tuios.dev/learn: the real app, compiled to WebAssembly, with a practice shell in every pane.

What changed in v0.8.1 is in the release notes.

Table of Contents

Installation

Package Managers

Homebrew (macOS/Linux):

brew install tuios

Arch Linux (AUR):

yay -S tuios-bin

Nix:

nix run github:Gaurav-Gosain/tuios/v0.8.1#tuios   # a release
nix run github:Gaurav-Gosain/tuios#tuios          # the latest main
nix run nixpkgs#tuios                             # the nixpkgs package

Put a release tag after the repo name to build that release. Without a tag, Nix builds the newest commit on main.

Other Methods

# Quick install script (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Gaurav-Gosain/tuios/main/install.sh | bash

# Go install
go install github.com/Gaurav-Gosain/tuios/cmd/tuios@latest

# Docker
docker run -it --rm ghcr.io/gaurav-gosain/tuios:latest

GitHub Releases: Pre-built binaries for Linux, macOS, Windows, FreeBSD and OpenBSD, with a checksums.txt. The tuios-ghostty_* archives are tuios built on the libghostty-vt emulator, for Linux, macOS and Windows on amd64 and arm64.

Building from source needs Go 1.26.6 or newer.

Updating. If you installed with the quick install script or a release binary, tuios update fetches the newest release and puts it in place (tuios update --check just reports). Everything else has a package manager that owns the binary, so use that instead; tuios update detects which you have and prints the right command rather than overwriting it.

Requirements: A terminal with true color support. Kitty graphics and sixel support recommended (Ghostty, Kitty, WezTerm).

Features

TUIOS

Core

Agents

The guide is docs/AGENT_STATE.md.

Machines

Tiling

Scrollback & Copy Mode

Graphics & Protocols

Session Management

Automation

Discovery & Navigation

More

Quick Start

tuios                    # Launch TUIOS
tuios --show-keys        # Launch with key overlay for learning
tuios --standalone       # Launch without the daemon, for this run only

tuios attaches to a daemon-backed session, so the session outlives the terminal window it started in. New panes are tiled. See SESSIONS.md to turn either off.

Essential Keys

Key Action
Ctrl+P Command palette: search and run any action
Alt+Space Launcher: search and start a program (Enter runs it, Tab types it out)
n New pane (Window Management mode)
i / Enter Enter Terminal mode
Prefix+Esc or Alt+Esc Back to Window Management mode (a bare Esc goes to the shell)
Prefix+d Detach in a daemon session, otherwise back to Window Management mode
z (WM) or Prefix+z Toggle pane zoom
Prefix+Space Toggle BSP tiling
Prefix+[ Enter copy mode (vim scrollback)
Prefix+S Session switcher
Prefix+L then l/s Load/Save layout template
Prefix+? Help overlay
Prefix+q Quit

The prefix key is Ctrl+B by default (configurable).

Daemon Mode

tuios new mysession          # Create persistent session
tuios attach mysession       # Reattach
tuios ls                     # List sessions
tuios kill-session mysession # Kill session

Layout Templates

# In-app: Ctrl+B, L, l to load / Ctrl+B, L, s to save
# Or via command palette: Ctrl+P → "Save layout" / "Load layout"

# CLI:
tuios layout list            # List saved layouts
tuios layout delete mysetup  # Delete a layout
tuios layout export mysetup  # Export as tape script

Configuration

tuios config edit            # Edit config in $EDITOR
tuios keybinds list          # View the common keybindings

See the configuration reference (or run tuios list-options) for all options including show_clock, show_cpu, show_ram, shared_borders, window_button_style, window_button_position, custom themes, and keybinding customization.

Architecture

TUIOS follows the Model-View-Update pattern on Bubble Tea v2. For details, see Architecture Guide.

Key design decisions:

Core Components:

Performance

Development

git clone https://github.com/gaurav-gosain/tuios.git
cd tuios
go build -o tuios ./cmd/tuios
./tuios

To install a local build on your PATH instead, ./scripts/install.sh builds and installs into ~/.local/bin. It builds the pure Go emulator. ./scripts/install.sh ghostty builds the ghostty emulator backend instead, and tuios --version says which is installed.

go test ./...              # Run tests
go vet ./...               # Vet
golangci-lint run          # Lint with the checks CI runs (.golangci.yml)
govulncheck ./...          # Known vulnerabilities in what the build reaches

Support: ko-fi

Star History

Star History Chart

GitHub Language Count GitHub Top Language Repo Size GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Closed Pull Requests GitHub Contributors GitHub Last Commit GitHub Commit Activity (Week)

License

MIT License. See LICENSE for details.

Acknowledgments

tuios (Gaurav-Gosain/tuios)

tiling-window-manager
Searching Database…

5.5K ·GitHub
What is this?TUIOS is a terminal window manager and multiplexer built in Go that adds tiling panes, workspaces, and persistent daemon-backed sessions on top of your terminal, with built-in awareness of what coding agents running in its panes are doing.
Is this a replacement for tmux, or something different?It covers the same ground as tmux (daemon sessions, detach/reattach) but adds a vim-style modal window manager with BSP tiling, a command palette and an agent-aware Inbox; it even ships a tmux Shim so tools built for tmux, like Claude Code agent teams, can run inside tuios panes instead.
Does it need a special terminal to work well?It needs a terminal with true color support, and Kitty graphics or sixel support is recommended for image rendering, with Ghostty, Kitty and WezTerm called out as good fits.
Which coding agents does it actually support?Running `tuios integration install` wires up 19 harnesses, including Claude Code, Codex, Gemini CLI and opencode, to report their state, and tuios can also detect 24 agent CLIs just by watching their process and screen without any setup.
Does it run on Windows and BSD too, or just macOS/Linux?Yes, pre-built binaries cover Linux, macOS, Windows, FreeBSD and OpenBSD, and there's a separate build on the Ghostty terminal emulator for Linux, macOS and Windows on amd64/arm64.
What is the Inbox?The Inbox (Prefix+i) lists everything across every session and machine that needs your attention: approvals, questions, agent mail, errors and finished turns, and you can answer prompts right from it without switching to the pane.
What are Fleets?`tuios fan` fires the same prompt at several coding agents at once, even mixing different harnesses, each running in its own git worktree, while `tuios start-agent` spawns a single helper agent beside you.
Can agents control tuios through MCP?Yes, `tuios mcp` serves an MCP server exposing the same surface as its CLI tools, read-only and scoped to the agent's own session unless you explicitly grant more via Pane Grants.
Can I use tuios over SSH or from a browser?Yes, it has an SSH Server Mode for remote terminal multiplexing, and a separate `tuios-web` binary enables browser-based access.
Size
83.2 MB
Stars
5.5K
Age
1y
Commits · 90 Days