VHS: Your CLI Home Video Recorder for Terminal GIFs
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
VHS, by Charmbracelet, is an innovative command-line tool designed to record terminal sessions and turn them into high-quality GIFs or videos. It enables scripting terminal interactions with a simple .tape file format, making it ideal for creating consistent demos and integration tests for CLI applications. This project simplifies the process of showcasing command-line tools with dynamic, shareable content.
Repository Information
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.
Introduction
VHS, by Charmbracelet, is a unique command-line tool designed to record your terminal sessions and turn them into beautiful GIFs or videos. Described as 'Your CLI home video recorder,' VHS allows developers to script terminal interactions using a simple .tape file, ensuring consistent and reproducible demonstrations of CLI tools. It's an essential utility for anyone looking to create engaging visual content for their command-line projects.
Installation
Before installing VHS, ensure you have ttyd and ffmpeg installed and available on your PATH.
You can install VHS using various package managers:
# macOS or Linux
brew install vhs
# Arch Linux
pacman -S vhs
# Nix
nix-env -iA nixpkgs.vhs
# Windows using scoop
scoop install vhs
Alternatively, you can run it via Docker:
docker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape
Or, install it directly with Go:
go install github.com/charmbracelet/vhs@latest
Binaries and packages (Debian, RPM) are also available on the releases page.
Examples
Creating a terminal recording with VHS involves writing a .tape file. This file contains a sequence of commands that VHS executes in a virtual terminal.
Here's a basic example:
Output demo.gif
Set FontSize 46
Set Width 1200
Set Height 600
Type "echo 'Welcome to VHS!'"
Sleep 500ms
Enter
Sleep 5s
After creating your demo.tape file, simply run vhs demo.tape to generate demo.gif.
VHS also offers features to record your terminal actions directly into a .tape file and publish your generated GIFs to vhs.charm.sh for easy sharing.
Why Use It
VHS offers several compelling reasons for its adoption. It provides a robust solution for generating consistent and high-quality terminal demos, which is invaluable for documentation, tutorials, and marketing materials. For developers, it serves as an excellent tool for integration testing CLI applications, allowing you to script interactions and verify output against golden files. Its integration with CI pipelines via the charmbracelet/vhs-action ensures that your demos and tests remain up-to-date. Furthermore, the ability to self-host a VHS SSH server allows for remote recording without local dependencies.
Links
Related repositories
Similar repositories that may be relevant next.

goose: Your Native Open Source AI Agent for Code and Workflows
August 9, 2026
goose is an open source, extensible AI agent designed to run natively on your machine, offering capabilities beyond simple code suggestions. It supports installation, execution, editing, and testing with a wide range of Large Language Models. Built in Rust, goose provides a desktop app, CLI, and API, making it a versatile tool for various tasks from coding to data analysis.
Destructive Command Guard (dcg): Protecting AI Agents from Dangerous Commands
July 11, 2026
The Destructive Command Guard (dcg) is a high-performance hook designed to prevent AI coding agents from executing dangerous git and shell commands. Built in Rust, dcg intercepts and blocks catastrophic operations like `git reset --hard` or `rm -rf`, offering clear explanations and safer alternatives. It provides a crucial safety layer for developers working with tools like Claude Code, Codex CLI, and GitHub Copilot.

Awesome Shell: A Curated List of Command-Line Tools and Resources
July 11, 2026
Awesome Shell is an extensive, curated list of essential command-line frameworks, toolkits, guides, and gizmos. It serves as a comprehensive resource for anyone looking to enhance their terminal experience, offering tools for productivity, customization, development, and system management.

Zero: The AI Coding Agent for Your Local Terminal
July 6, 2026
Zero is an innovative AI coding agent designed for your local terminal, offering powerful capabilities to inspect repositories, edit files, run commands, and utilize browser/terminal helpers. It provides durable local sessions while giving users full control over the AI model and permission levels. This tool empowers developers with a customizable and secure AI assistant directly within their development environment.
Source repository
Open the original repository on GitHub.
12 counted GitHub visits