vcr 0.1.1
dotnet tool install --global vcr --version 0.1.1
dotnet new tool-manifest
dotnet tool install --local vcr --version 0.1.1
#tool dotnet:?package=vcr&version=0.1.1
nuke :add-package vcr --version 0.1.1
VcrSharp
⚠️ WORK IN PROGRESS This project is in early development and the API will change rapidly. If you need a stable, production-ready terminal recorder, please use VHS instead. VcrSharp is experimental and should be considered alpha quality.
A .NET terminal recorder that turns .tape scripts into GIFs, videos, and SVGs. Write your terminal demos as code, then
render them to GIF, MP4, WebM, PNG, or (animated/static) SVG.
VCR# is browserless. It drives a real shell over an in-process pseudo-terminal (ConPTY on Windows, a Unix PTY on Linux/macOS) and renders the output with its own VT500 terminal engine — no ttyd, no Chromium, no Playwright. SVG and PNG output need no external binaries at all.
Installation
VCR# ships as a .NET global tool:
dotnet tool install --global vcr
Need the old behavior? VCR# was rewritten substantially after
0.0.35. If you depend on the pre-rewrite behavior and aren't ready to migrate, pin that version:dotnet tool install --global vcr --version 0.0.35
That's the whole install for SVG and PNG output. If you want to encode GIF, MP4, or WebM, also put
FFmpeg on your PATH:
| OS | Install FFmpeg (video output only) |
|---|---|
| Windows | choco install ffmpeg |
| macOS | brew install ffmpeg |
| Linux | sudo apt install ffmpeg |
Requirements: .NET 10. FFmpeg is required only for GIF/MP4/WebM. Raster output (GIF/MP4/WebM/PNG) also uses a monospace font installed on your system — usually already present (Consolas/Cascadia on Windows, DejaVu Sans Mono on Linux); SVG output needs none.
Verify it runs (vcr themes lists the built-in themes):
vcr themes
The full walkthrough lives in the Getting Started tutorial.
Quick Example
Create a file called demo.tape:
Output demo.svg
Set Cols 80
Set Rows 20
Set Theme "Dracula"
Type "echo 'Hello, VCR#!'"
Enter
Sleep 1s
Then record it (SVG output needs no extra tools):
vcr demo.tape
Change Output demo.svg to demo.gif to render a GIF instead (requires FFmpeg).
CLI at a glance
| Command | What it does |
|---|---|
vcr <tape> |
Record a tape file to its declared Output target(s), in-process (no browser). |
vcr validate <tape> |
Parse a tape file and report syntax errors without recording. |
vcr themes |
List the built-in themes with their background/foreground colors. |
vcr snap <command> |
One-shot static SVG screenshot of <command>'s final output — no tape file. |
vcr capture <command> |
Animated SVG of <command> start to finish — no tape file. |
vcr record [tape] |
Record a live shell session into a .tape file as you type — works in any shell. |
vcr migrate <dir> |
Mine a directory of tapes into a shared vcr.toml preset (dry run by default). |
Documentation
Full docs, tutorials, and reference: https://phil-scott-78.github.io/vcr/
- Getting Started Tutorial
- Tape Syntax Reference
- Configuration Options
- Sample tape files in
samples/
Attribution
This project is heavily inspired by VHS by Charm Bracelet.
VcrSharp adds first-class Windows support, a fully browserless rendering path (its own VT500 terminal engine, no ttyd or
Chromium), the ability to execute real commands via the Exec command, and an interactive record mode that works
across shells (VHS's is bash-only) — but VHS is still much more feature rich.
License
This project is licensed under the MIT License - see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.1 | 52 | 6/7/2026 |
| 0.1.0 | 48 | 6/7/2026 |
| 0.0.35 | 70 | 6/4/2026 |
| 0.0.34 | 66 | 6/4/2026 |
| 0.0.33 | 76 | 6/4/2026 |
| 0.0.32 | 75 | 6/4/2026 |
| 0.0.31 | 168 | 1/9/2026 |
| 0.0.30 | 210 | 12/23/2025 |
| 0.0.29 | 301 | 12/17/2025 |
| 0.0.28 | 318 | 12/16/2025 |
| 0.0.27 | 230 | 12/4/2025 |
| 0.0.26 | 705 | 12/2/2025 |
| 0.0.25 | 606 | 12/1/2025 |
| 0.0.23 | 215 | 11/24/2025 |
| 0.0.22 | 219 | 11/24/2025 |
| 0.0.21 | 220 | 11/24/2025 |
| 0.0.20 | 223 | 11/23/2025 |
| 0.0.19 | 214 | 11/23/2025 |
| 0.0.18 | 157 | 11/23/2025 |
| 0.0.17 | 299 | 11/21/2025 |