whatisgithub

What is boo?

coder/boo — explained in plain English

Analysis updated 2026-05-18

368ZigAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A GNU screen style terminal multiplexer built on Ghostty's terminal engine, designed to keep sessions alive and be easy for scripts and AI agents to drive.

Mindmap

mindmap
  root((boo))
    What it does
      Terminal multiplexer
      Detach and reattach sessions
      Accurate redraws via Ghostty
    Tech stack
      Zig language
      libghostty VT core
    Use cases
      Persistent dev sessions
      AI agent automation
      Scripted send peek wait
    Audience
      Developers
      AI agent builders

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

What do people build with it?

USE CASE 1

Keep a long-running terminal session alive across disconnects and reattach later.

USE CASE 2

Let an AI agent create a headless session, type commands, and read the screen back.

USE CASE 3

Replace GNU screen when modern program output gets garbled on reattach.

USE CASE 4

Script automated workflows using send, peek, and wait instead of manual polling.

What is it built with?

Ziglibghostty

How does it compare?

coder/boosmithersai/claude-pandrewrk/zig-general-purpose-allocator
Stars36828052
LanguageZigZigZig
Last pushed2020-08-08
MaintenanceDormant
Setup difficultyeasymoderateeasy
Complexity2/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Installs with a single curl script on Linux or macOS, building from source requires Zig 0.15.2.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

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.

Copy-paste prompts

Prompt 1
Show me how to create a detached boo session and run a build command in it.
Prompt 2
How would an AI agent use boo's send, peek, and wait commands to drive a CLI tool?
Prompt 3
Explain why boo redraws sessions more accurately than GNU screen.
Prompt 4
Walk me through installing boo on macOS and reattaching to a named session.

Frequently asked questions

What is boo?

A GNU screen style terminal multiplexer built on Ghostty's terminal engine, designed to keep sessions alive and be easy for scripts and AI agents to drive.

What language is boo written in?

Mainly Zig. The stack also includes Zig, libghostty.

What license does boo use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is boo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is boo for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.