explaingit

coder/boo

Analysis updated 2026-05-18

368Zig
This is a quick first-pass explanation. The richer sections — use-cases, tech stack, setup, prompts — are still being generated.

TLDR

Boo is a terminal multiplexer, which is a program that lets you run multiple terminal sessions from a single window and keep those sessions alive even after you disconnect.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

In plain English

Boo is a terminal multiplexer, which is a program that lets you run multiple terminal sessions from a single window and keep those sessions alive even after you disconnect. It works similarly to the classic GNU screen tool: you press Ctrl-A and then D to detach from a session, and later run boo attach to reconnect and find everything exactly as you left it. It is written in Zig and built on top of libghostty, which is the terminal emulation core from the Ghostty terminal application. The main reason boo exists instead of just using GNU screen is that screen's internal terminal emulator is decades old and mishandles output from many modern programs. When you reattach to a screen session, anything screen did not understand gets dropped or displayed wrong. Boo replaces that layer with Ghostty's VT core, which understands modern terminal output, so redraws on reattach are accurate. It also correctly answers terminal queries while a session is detached, which prevents some text-based applications from freezing when run unattended. Boo is designed to be friendly to scripts and AI agents that need to drive interactive programs in a terminal. It provides four core commands for automation: send types text into a session without a real keyboard, peek reads the current screen content as the session would actually display it (not just a raw log), wait blocks until specified text appears on screen or until output goes quiet, and kill ends the session. These commands work without a terminal attached, so automated workflows can create a headless session, run a command, wait for it to finish, read the result, and clean up, all in a straightforward script. The one-session-per-task model means there are no splits or tabs inside a session. You run boo ui to get a sidebar that lists all your sessions and lets you switch between them. Boo is available for Linux and macOS and can be installed with a single curl command. It is licensed under MIT.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.