# Install vhs with Homebrew, apk, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

Your CLI home video recorder. Version 0.11.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:vhs
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vhs
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install vhs
```

  Evidence: MacPorts ports tree: graphics/vhs/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add vhs
```

  Evidence: Alpine Linux edge package indexes: vhs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install vhs
```

  Evidence: Fedora Rawhide package metadata: vhs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#vhs
```

  Evidence: nixpkgs package indexes: pkgs/by-name/vh/vhs/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S vhs
```

  Evidence: Arch Linux sync databases: vhs from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install vhs
```

  Evidence: openSUSE Tumbleweed package metadata: vhs from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/vhs
```

  Evidence: Scoop official bucket manifest trees: bucket/vhs.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id charmbracelet.vhs -e
```

  Evidence: Windows Package Manager source index: charmbracelet.vhs from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:vhs
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vhs>
- **Version:** 0.11.0
- **Source summary:** Your CLI home video recorder
- **Homepage:** <https://github.com/charmbracelet/vhs>
- **Repository:** <https://github.com/charmbracelet/vhs>
- **Upstream docs:** <https://github.com/charmbracelet/vhs#readme>
- **License:** MIT
- **Source archive:** <https://github.com/charmbracelet/vhs/archive/refs/tags/v0.11.0.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- vhs (cli)
- vhs (alias)

## Dependencies

- ffmpeg
- ttyd

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.11.0
- Local data: ok
- Upstream repository: https://github.com/charmbracelet/vhs
- Upstream latest detected: v0.11.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

VHS is Charmbracelet's terminal demo recorder: a command-line tool that describes terminal sessions as `.tape` files and renders them to GIF, MP4, WebM, or related outputs. It sits in the same developer-experience niche as asciinema and terminal screenshot tools, but emphasizes reproducible, scripted demos.

### Project history

Charmbracelet created the public VHS repository on 2022-07-19. The project adopted the metaphor of terminal 'home video' and 'tape' files: a tape contains commands such as output settings, typed text, sleeps, and enter/key events, and VHS evaluates those commands in a controlled terminal session.

The release stream shows VHS maturing through regular 0.x releases after its 2022 repository creation, including v0.4.0 in April 2023, v0.6.0 in July 2023, v0.8.0 in September 2024, v0.10.0 in June 2025, and v0.11.0 in March 2026. The project remained under Charmbracelet stewardship and in Charmbracelet's broader family of polished terminal tools.

### Adoption history

VHS gained adoption among CLI authors because it turns README demos into source-controlled assets: the demo script can live beside the project, and the rendered animation can be regenerated when the CLI changes. Charmbracelet also maintains `vhs-action`, a GitHub Action intended to regenerate GIFs from `.tape` files in CI, reinforcing VHS's role in documentation and integration testing workflows.

### How it is used

A normal VHS workflow starts with `vhs new demo.tape`, editing the generated tape file, and running `vhs demo.tape` to create the configured output. The README documents settings for terminal dimensions, font, shell, output path, and scripted terminal actions; it also supports recording an interactive session into a tape for later editing.

### Why package nerds care

For package maintainers, VHS matters because it treats terminal recordings as build artifacts rather than hand-captured media. That makes CLI demos reviewable, repeatable, and automatable in release or README pipelines, which is a practical improvement over stale screenshots and manually captured GIFs.

### Timeline

- 2022-07-19: Public GitHub repository created.
- 2023-04-05: v0.4.0 release published.
- 2023-07-20: v0.6.0 release published.
- 2024-09-06: v0.8.0 release published.
- 2025-06-17: v0.10.0 release published.
- 2026-03-10: v0.11.0 release published.

### Related projects

- vhs-action is the companion GitHub Action for regenerating VHS outputs in CI.
- Charmbracelet's broader terminal ecosystem includes Bubble Tea, Lip Gloss, Gum, and other Go-based CLI/TUI projects that share the same polish-oriented developer audience.

### Sources

- <https://api.github.com/repos/charmbracelet/vhs>
- <https://api.github.com/repos/charmbracelet/vhs/releases>
- <https://github.com/charmbracelet/vhs>
- <https://github.com/charmbracelet/vhs-action>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** vhs
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - vhs: normalized package name match | nixpkgs package indexes: pkgs/by-name/vh/vhs/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - vhs - 0.11.0-r2: normalized package name match | Alpine Linux edge package indexes: vhs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for automatic recording of terminal sessions | https://github.com/charmbracelet/vhs
- apk - vhs-bash-completion - 0.11.0-r2: normalized package name match | Alpine Linux edge package indexes: vhs-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for vhs | https://github.com/charmbracelet/vhs
- apk - vhs-doc - 0.11.0-r2: normalized package name match | Alpine Linux edge package indexes: vhs-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for automatic recording of terminal sessions (documentation) | https://github.com/charmbracelet/vhs
- apk - vhs-fish-completion - 0.11.0-r2: normalized package name match | Alpine Linux edge package indexes: vhs-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for vhs | https://github.com/charmbracelet/vhs
- apk - vhs-zsh-completion - 0.11.0-r2: normalized package name match | Alpine Linux edge package indexes: vhs-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for vhs | https://github.com/charmbracelet/vhs
- dnf - vhs - 0.11.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: vhs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Your CLI home video recorder | https://github.com/charmbracelet/vhs
- pacman - vhs - 0.11.0-1: normalized package name match | Arch Linux sync databases: vhs from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A tool for recording terminal GIFs | https://github.com/charmbracelet/vhs
- zypper - vhs - 0.9.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: vhs from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | CLI video recorder | https://github.com/charmbracelet/vhs
- zypper - vhs-bash-completion - 0.9.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: vhs-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash Completion for vhs | https://github.com/charmbracelet/vhs
- zypper - vhs-doc - 0.9.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: vhs-doc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Documentation for vhs | https://github.com/charmbracelet/vhs
- zypper - vhs-fish-completion - 0.9.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: vhs-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fish Completion for vhs | https://github.com/charmbracelet/vhs
- zypper - vhs-zsh-completion - 0.9.0-1.11: normalized package name match | openSUSE Tumbleweed package metadata: vhs-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zsh Completion for vhs | https://github.com/charmbracelet/vhs
- MacPorts - vhs: normalized package name match | MacPorts ports tree: graphics/vhs/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/vhs: normalized package name match | Scoop official bucket manifest trees: bucket/vhs.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - charmbracelet.vhs: normalized package name match | Windows Package Manager source index: charmbracelet.vhs from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [ffmpeg](https://www.automicvault.com/pkg/brew/ffmpeg/) - Runtime dependency declared by Homebrew.
- [ttyd](https://www.automicvault.com/pkg/brew/ttyd/) - Runtime dependency declared by Homebrew.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [aha](https://www.automicvault.com/pkg/brew/aha/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [amtterm](https://www.automicvault.com/pkg/brew/amtterm/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ansifilter](https://www.automicvault.com/pkg/brew/ansifilter/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ccat](https://www.automicvault.com/pkg/brew/ccat/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [clive](https://www.automicvault.com/pkg/brew/clive/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [colordiff](https://www.automicvault.com/pkg/brew/colordiff/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [colormake](https://www.automicvault.com/pkg/brew/colormake/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [et](https://www.automicvault.com/pkg/brew/et/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [termsvg](https://www.automicvault.com/pkg/brew/termsvg/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, recording, terminal.

## Combined YAML source

View the package source record on GitHub. [combined/vhs.yml](https://github.com/automic-vault/db/blob/main/combined/vhs.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
