vhs - Man Page

Run a given tape file and generates its outputs.

Examples (TL;DR)

Synopsis

vhs [options...] [argument...]

Description

VHS lets you write terminal GIFs as code.

VHS reads .tape files and renders GIFs (videos).

A tape file is a script made up of commands describing what actions to perform in the render.

The following is a list of all possible commands in VHS:

Options

-o,  --output

file name(s) of video output

-p,  --publish

publish your GIF to vhs.charm.sh and get a shareable URL

-q,  --quiet

quiet do not log messages. If publish flag is provided, it will log shareable URL

Commands

help [command]

Help about any command

new <name>

Create a new tape file with example tape file contents and documentation

publish <gif>

Publish your GIF to vhs.charm.sh and get a shareable URL

record

Create a new tape file by recording your actions

OPTIONS

-s, --shell shell for recording

serve

Start the VHS SSH server

themes

List all the available themes, one per line

OPTIONS

--markdown output as markdown

validate <file>...

Validate a glob file path and parses all the files to ensure they are valid without running them.

Output

The Output command instructs VHS where to save the output of the recording.

File names with the extension .gif, .webm, .mp4 will have the respective file types.

Settings

The Set command allows VHS to adjust settings in the terminal, such as fonts, dimensions, and themes.

The following is a list of all possible setting commands in VHS:

Bugs

See GitHub Issues: <https://github.com/charmbracelet/vhs/issues>

Author

Charm <vt100@charm.sh>

Info

2025-04-20 Run a given tape file and generates its outputs.