Reference

CLI

The plugin runs the cursorcam CLI for you. You can run it yourself too. Every example uses npx cursorcam@beta.

A typical session

  1. Check the machine once: npx cursorcam@beta doctor
  2. See the page and its targets: npx cursorcam@beta inspect http://localhost:3000
  3. Try the steps quickly: npx cursorcam@beta check steps.json
  4. Record and render: npx cursorcam@beta run steps.json
  5. Look at key moments: npx cursorcam@beta stills cursorcam-output/<run>
  6. Make another size: npx cursorcam@beta render cursorcam-output/<run> --for linkedin

Commands

CommandDoes
doctorChecks Node, the browser, screen capture, the video encoder, crash dumps, disk space and fonts, and prints fixes
inspect <url>Saves the first frame of a page and lists what can be clicked, with targets
check <steps>A quick dry run that saves one frame per step and stops at the first failure
record <steps>Records the steps without rendering
render <run>Renders a recorded run into an MP4
run <steps>record and render in one go
stills <run>Saves key-moment stills and a close-up of each step
wait [run]Waits until a run finishes, fails or needs an answer, and says which
answer <run>Sends a reply to a run waiting at an ask step
login <url>Opens a browser window to log in by hand, and saves the login for recordings

Options

OptionOnDoes
--for <preset>run, render, stillsyoutube, x, linkedin or discord. See Look and size
--max-size <size>run, renderKeeps the file under a size, like 10MB
--format <format>run, render, stillslandscape, square or vertical
--style <file-or-json>run, render, stillsThe look of the video
--cleanrun, renderDeletes the raw frames after rendering
--profile <name>inspect, check, record, runUses a login saved with login
--headedcheck, record, runShows the browser window
--detachcheck, record, runRuns in the background and prints the run folder. Follow it with wait
--until <step>checkChecks only up to that step number
--out <dir>inspect, check, record, runFolder for run folders, instead of cursorcam-output
--phone, --filter <text>, --limit <n>, --mask <selectors...>inspectPhone layout, filter or cap the list, blur elements
--count <n>stillsHow many key moments, 6 by default
--timeout <seconds>waitHow long to wait, 90 by default
--jsonmost commandsMachine-readable output

The run folder

Each run gets its own folder, cursorcam-output/<name>-<time>-<id>/:

FileHolds
video.mp4, poster.jpgThe video and its first frame. Other presets and formats add their own, like video-x.mp4
steps.jsonA copy of the steps that made it
result.jsonThe outcome: the video, its size and length, or the error
failure.jpgThe frame where a step failed
check/One frame per step from check
stills/Key moments and close-ups from stills
log.txtThe output of a run started with --detach

Exit codes

CodeMeaning
0ok
1unexpected error
2bad input
3no usable browser, or doctor found a problem
4a step failed
5encoding failed
6timeout
7the page did not load
8disk full
9interrupted
10blocked, or needs a human
11the browser crashed

What to do for each one is in Troubleshooting.