The ChatCut agent plugin is the public npm package @chatcut/skill (currently v0.2.1), which installs a Claude Code skill named “chatcut” plus a command-line chatcut tool that creates AI-edited videos from a text prompt and a list of asset URLs or local file paths.
How do I install it?
Run npm install -g @chatcut/skill (pnpm add -g and yarn global add work the same way), then restart Claude Code. A global install is required — the skill invokes the bare chatcut binary on your PATH, so npx @chatcut/skill submit does not work. The install’s postinstall step copies SKILL.md into ~/.claude/skills/chatcut/SKILL.md so Claude Code picks up the skill automatically; that registration is best-effort and never fails the npm install, so if Claude Code doesn’t see the skill afterward, run chatcut install to register it manually.
What do I need to run it?
The chatcut CLI requires Node.js 18 or newer (engines.node >=18 in package.json).
What can the CLI do?
The chatcut command exposes nine subcommands: install (with a --link option), update, login, logout, pick, submit, status <jobId>, watch <jobId>, and help. The core one is submit, which takes a required --prompt <text>, one or more repeatable --asset <source:type> flags (type is audio, gif, image, or video), and optional --name <string>, --resolution <480p|720p|1080p>, --format <audio|video>, --codec <h264|mp3|prores|vp8>, --max-turns <n>, and --model <name> flags. If you don’t already have asset paths on hand, chatcut pick opens a native file-selection dialog and prints path:type lines you can feed straight into submit --asset.
How does chatcut submit create a video?
Point submit at a prompt and your media, and it runs the whole pipeline for you: you describe the edit in plain language and supply assets as either public URLs or absolute local file paths — both are accepted identically — the CLI transcodes them locally and uploads them, ChatCut’s agent assembles the timeline server-side, the video renders in the cloud, and you get back a signed download URL. If you don’t set --resolution or --format, the CLI automatically appends an export instruction to your prompt that defaults to 1080p video. Submitting a job is a paid operation, so if the agent altered your wording before submitting, it’s required to stop and show you the exact --prompt text for approval first.
How long does it take, and where do I see progress?
chatcut submit blocks until the job is completely done — transcode, upload, the agent’s edit loop, and the cloud render all run before it returns — streaming human-readable progress to stderr the whole time. Behind the scenes it polls job status every 3 seconds and gives up with a timeout error if the job hasn’t finished within 40 minutes.
Where do the results end up?
Every chatcut submit run creates a new ChatCut project — name it with --name, or accept the default — and prints back that project’s projectId together with the job’s jobId and a signed outputUrl for the rendered file, as a single JSON line on stdout once the run finishes.
Do I need to run chatcut login first?
No — if submit doesn’t find a saved API key, it opens your browser to sign in automatically and continues with the job once you’re done, so a separate chatcut login step isn’t required before your first submit. That sign-in opens a browser window pointed at ChatCut’s sign-in page; after you approve it, the CLI exchanges the result for a long-lived API key behind the scenes, and the whole flow times out after 5 minutes if left incomplete.
Is this the same as the “Codex plugin”?
Not as shipped today — @chatcut/skill is exclusively a Claude Code skill: the CLI registers under ~/.claude/skills/chatcut, and nothing in the package integrates with OpenAI Codex.
See also: How is the ChatCut editor laid out.
How do I install and sign in to the ChatCut agent plugin?
Install the plugin globally with npm install -g @chatcut/skill — pnpm add -g and yarn global add work the same way — then restart Claude Code. It requires Node.js 18 or newer. Installing it also registers SKILL.md at ~/.claude/skills/chatcut/ so Claude Code picks up the skill automatically; if that registration doesn’t happen (for example with --ignore-scripts), run chatcut install to do it manually. A global install is required — npx @chatcut/skill won’t work from inside Claude Code.
You don’t need a separate sign-in step: the first chatcut submit opens your browser to a PKCE-based authorization exchange, and the flow times out after 5 minutes if you don’t complete it. To sign in ahead of time instead, run chatcut login.
See also: How do I sign in to ChatCut.
What can the ChatCut agent plugin do, and what are its limits?
The ChatCut agent plugin — the chatcut CLI, a Claude Code skill — creates a project, uploads your media, runs a natural-language AI edit job, and returns a signed download URL in one command. chatcut submit takes a prompt plus assets (URLs or local file paths); it transcodes video locally only when the codec isn’t browser-compatible, frame rate exceeds 30fps, or bitrate exceeds 8Mbps, clamping output to 1920px on the longest side — otherwise it uploads the file untouched. It then blocks until ChatCut’s server-side agent finishes editing and cloud rendering, streaming progress to stderr and a final jobId/projectId/outputUrl JSON line to stdout.
Limits: submit polls every 3 seconds, timing out after 40 minutes. chatcut status <jobId> checks a job once; chatcut watch <jobId> polls up to 20 minutes. The CLI checks for a newer version every 24 hours (cached) and only nudges — never blocks a command.
See also: How do I install and sign in to the ChatCut agent plugin.