Your CLI home video recorder - write terminal GIFs as code
VHS is a unique CLI tool that allows you to write terminal GIFs as code for integration testing and demoing your CLI applications. Instead of manually recording terminal sessions, VHS uses simple tape files written in a domain-specific language to automate the creation of terminal recordings. You define commands like typing, pressing keys, sleeping for dramatic effect, and setting visual properties, then VHS renders these instructions into high-quality GIFs, MP4s, or other formats.
The tool is particularly powerful for developers who need to create consistent, reproducible terminal demonstrations for documentation, tutorials, or marketing materials. VHS supports a comprehensive set of commands for simulating real terminal interactions, including typing text, pressing special keys like Enter and Ctrl combinations, taking screenshots, and even waiting for specific output patterns. It also offers extensive customization options for terminal appearance, including font size, family, dimensions, colors, and themes.
VHS goes beyond simple recording with advanced features like the ability to record actual terminal sessions into tape files, publish GIFs to shared hosting, and even run as an SSH server for remote access. This makes it ideal for development teams, technical writers, and anyone who regularly creates terminal-based content. The declarative approach means your terminal demos are version-controllable, repeatable, and can be easily modified without re-recording from scratch.
# via Homebrew
brew install vhs
# via Go Install
go install github.com/charmbracelet/vhs@latest
# via Docker
docker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape


