Why watch Claude "discombobulate" when you could watch low res YouTube videos?

rightlane1 pts1 comments

GitHub - lanestp/vid-line: Watch videos as ANSI art in your Claude Code statusline. Mario Maker while your agents grind. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

lanestp

vid-line

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>3 Commits<br>3 Commits

demo

demo

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

demo.gif

demo.gif

install.sh

install.sh

statusline.zsh

statusline.zsh

vidline

vidline

View all files

Repository files navigation

vid-line 🎬

Watch videos in your Claude Code statusline while your agents grind.

(Demo rendered programmatically with Remotion from the<br>actual ANSI frames — see demo/.)

vid-line converts any video into ANSI half-block pixel art and plays it in<br>Claude Code's statusline —<br>~3fps while Claude is working, 1fps while idle. Mario Maker during the long<br>tool calls. A nature documentary during the big refactor. You deserve this.

Yes, this is a deeply stupid idea. It is also fully working software with<br>wall-clock-synced playback and a worst-case-bytes-per-line analysis behind<br>it. We contain multitudes.

Install

Requires macOS or Linux with zsh, jq, ffmpeg, yt-dlp, and chafa<br>(all available via brew install / your package manager), plus Python 3.

git clone https://github.com/lanestp/vid-line<br>cd vid-line<br>./install.sh

The installer copies the scripts to ~/.config/vidline, backs up your<br>~/.claude/settings.json, and wires in the statusline (it won't touch an<br>existing custom statusline — it prints instructions instead).

Usage

vidline prep "https://youtube.com/watch?v=..." --name mario # any URL yt-dlp eats<br>vidline prep "ytsearch1:mario maker 2 endless" --name mario # or search YouTube<br>vidline prep ~/Movies/cat.mp4 --name cat # or a local file

vidline list # what's prepped, * marks the active one<br>vidline use cat # switch videos<br>vidline off # back to a boring (but informative) statusline<br>vidline resize mario --height 16 --width 110 # re-render bigger/smaller, no re-download

Prep options: --width 80 --height 8 --fps 3 --max-secs 600 --colors 256.<br>Each text row is 2 pixels tall (half-blocks), and chafa preserves aspect<br>ratio inside the width×height box. Start small; resize is cheap.

How it works

vidline prep: yt-dlp downloads → ffmpeg extracts frames at 3fps → chafa<br>converts each frame to ANSI art → text files cached in ~/.cache/vidline/.

statusline.zsh: Claude Code runs it on every UI refresh; it picks the<br>frame by wall-clock time (epoch_ms × fps ÷ 1000 mod nframes), so<br>playback stays smooth no matter how erratically the statusline refreshes,<br>then prints the frame plus an info line (model · dir · context % · cost).

The script runs in ~10ms. Your statusline stays snappy.

Troubleshooting

Glitchy frames / stray white lines? Claude Code truncates oversized<br>statusline lines and can cut mid-ANSI-escape<br>(anthropics/claude-code#42382).<br>Keep raw bytes per line roughly under ~1.2KB: prefer --colors 256 (the<br>default) over --colors full, or render smaller. --colors 16 is<br>bulletproof and appropriately retro.

Video frozen? It only animates when the statusline refreshes — during<br>activity that's ~3fps, idle is 1fps (refreshInterval). If it's fully<br>frozen, check that ~/.cache/vidline/current points at a prepped video.

Disk usage: ~15–70MB per 10-minute video depending on size, plus the<br>kept source file (which makes resize instant). Delete<br>~/.cache/vidline/ when you're done with one.

Only download videos you have the right to use.

Uninstall

Remove the statusLine block from ~/.claude/settings.json (or restore<br>settings.json.bak.vidline), then rm -rf ~/.config/vidline ~/.cache/vidline.

License

MIT. Built with Claude Code, naturally.

About

Watch videos as ANSI art in your Claude Code statusline. Mario Maker while your agents grind.

Topics

terminal

ascii-art

ansi-art

statusline

yt-dlp

claude-code

Resources

Readme

License

MIT license

Uh oh!

There was an error while loading. Please reload this...

vidline statusline claude code line ansi

Related Articles