claude-video-plus / ask a video a question

Ask Claude to watch a video

Give Claude Code, Codex, or Cursor a YouTube link or a local file and ask a question. /watch retrieves only the evidence that answers it. Blind judges: 18/18 for this fork, 17/18 for the original, at 23–83% fewer tokens.

Terminal demo: /watch --detail evidence --question about pricing retrieves 9 frames and 4 transcript spans and sends 11,505 tokens instead of 50,941, a 77% reduction on a targeted question

Most tools that let an AI agent "watch" a video feed it the whole thing (dozens of frames plus the full transcript) no matter how small your question is. That is roughly 50,000 tokens on a 40-minute video, every time. claude-video-plus takes a different path: when you ask a question, it retrieves only the parts of the video that answer it.

Install in one command

Claude Code (auto-updates via the plugin marketplace):

/plugin marketplace add abe238/claude-video-plus
/plugin install watch@claude-video-plus

Codex, Cursor, GitHub Copilot, Gemini CLI, or any of 50+ Agent Skills hosts:

npx skills add abe238/claude-video-plus -g

Then just talk to it: /watch https://youtu.be/… what did they say about pricing?

How evidence mode works

Instead of sampling the entire timeline, evidence mode reads your question and builds a small, auditable set of evidence:

Every selection lands in a manifest with its timestamp, reason, and score, so you can audit exactly what the model saw and why. It also mines on-screen tables from frames (content nobody reads aloud) and reconciles conflicting claims.

claude-video-plus vs. the original claude-video

This project is a grateful, attributed MIT fork of Brad Bonanno's claude-video, whose caption-first, fail-open design it inherits wholesale. The fork was blind-judged head-to-head against the untouched upstream at its pinned control commit: ten videos, answer keys frozen and hash-committed before any run, reports anonymized.

Blind-judged resultOriginal claude-videoclaude-video-plus
Answer quality, five substantive videos (max 18)17/1818/18
96-minute podcast, four questions8/88/8, at 42% fewer tokens
Tokens, default mode, equal frame budget100%58–77% (23–42% less)
Tokens, evidence mode (videos over 9 min)no such mode12–61% (39–88% less)
Worst uncovered stretch on the podcast11m 08s6m 26s

The one point the original dropped: asked which repo a video covered, its caption-only pipeline returned a garbled name ("maltbot"). This fork read the author's description, a surface the original never touches, and returned the exact name.

When the original is the right choice, it runs automatically. No question, no captions, a local file, a video under 9 minutes, or any internal error, and /watch falls back to the untouched original pipeline. There is no case where you get a worse result than claude-video: evidence mode is pure upside, opt-in per question.

The measured results

Beyond the head-to-head, a one-time sealed run (five unseen videos, ten pre-frozen questions, three blind judges, cryptographic receipt) measured evidence mode against the full-timeline path: same quality, 56% less material, about 14 seconds faster. Individual targeted questions ran deeper: one pricing question dropped from 50,941 tokens to 11,505 with no loss of quality. Every loss is published unedited, including the two music videos where this fork costs up to 7% more (nothing to retrieve, and the description adds bulk).

All raw data, judge transcripts, and the negative results live in docs/benchmarks/.

Frequently asked questions

Can Claude watch a YouTube video?

Yes. With /watch installed, paste a YouTube URL (or any yt-dlp-supported link, or a local file) and ask a question. It fetches captions, extracts frames with ffmpeg, and answers with cited timestamps.

Is it actually as good as the original claude-video?

Blind judges say equal or better on every video tested: 18/18 vs the original's 17/18 across the nine-video corpus, 8/8 both ways on a 96-minute podcast, with answer keys frozen before any run. It has never scored below the original in any judged run, while using 23–83% fewer tokens.

How do I reduce the token cost of video analysis?

Retrieve instead of reading everything. Evidence mode selects only the chapters, on-screen numbers, and moments that answer your question: 39–88% fewer tokens than the original tool in the blind-judged head-to-head, at equal or better answer quality.

Does it work in Codex, Cursor, and other agents?

Yes. It is a portable Agent Skill and installs across Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and 50+ other hosts with npx skills add abe238/claude-video-plus -g.

Does it handle local video files, not just YouTube?

Yes: pass a local path like ~/Movies/screen-recording.mp4. Local files use the original pipeline (evidence mode needs captions to retrieve against).

Is it safe to point an AI agent at untrusted videos?

With /watch, yes by design: every piece of video-derived text is treated as hostile and neutralized before the model reads it, all five surfaces, the description, title, uploader name, chapter names, and captions. Any of them could otherwise carry hidden instructions or forged trust markers, because whoever uploaded the video wrote them. Of six video skills code-reviewed in July 2026, only one other treated any of this as an injection surface. Here is a 30-second fixture you can run against any video tool, including this one.

Is it free?

Yes, MIT-licensed and open source, and it never asks you for an API key. Captions cover most public videos for free. When a video has none, transcription runs on your own machine first: a loopback speech server, YAP on macOS, or the openai-whisper CLI on any platform. Cloud Whisper (Groq or OpenAI) is available but doubly opt-in, and a key alone does nothing without --allow-remote-transcription, so your audio never leaves your machine by accident.

If it saves you tokens, star it

Agent-skill directories rank by GitHub stars, so a star is how the next person finds this instead of paying full price per video. Every claim above links to raw data; if you find a video where the original beats this fork, open an issue and it goes in the published losses.