Skip to content
Open the app

Screen recording ​

When you start a job, you can have Kadmo record the agent's screen for the job's whole life. The video is one of the job's artifacts: it plays on the job page, in Artifacts and on a share link, downloads as an MP4, and follows every rule an artifact follows.

This is not the extension's Record mode, which records the actions you take in your own browser.

Ask for a recording ​

Anyone who may start a job may ask for its recording. There are three places to ask.

On the Run modal ​

The last section of the Run modal is Screen recording, with one checkbox:

  • Record the screen: Kadmo records the agent's desktop, terminal included, for the whole job and keeps the video with the job's artifacts. The job runs alone on its agent.
  • Once it is ticked, pick the quality: Standard 720p or High 1080p. The line beside it says what a minute costs: About 1 to 3 MB a minute · up to 500 MB for Standard, About 5 to 20 MB a minute · up to 500 MB for High.
  • The footer then reads Runs alone on ‹agent› · recorded.

The checkbox is off every time the modal opens; nothing remembers it.

An agent that cannot record shows no recording beside its name in the agent picker. With that agent picked, the checkbox is disabled and its description says why: This agent cannot record: the screen-record plugin is not installed. or This agent has no display to record. With several agents picked, one that cannot record is enough to disable it, and the description names that agent first: ‹agent›: This agent cannot record: …. With no agent picked, the checkbox is disabled only when none of the agents you could pick can record: None of these agents can record the screen.

On the Tasks intake ​

On the Run a playbook side of the Tasks intake, the checkbox is Record the screen of every step: Kadmo records each agent's desktop, terminal included, for the step's whole life and keeps the videos with the run's artifacts. Each recorded step runs alone on its agent.

Every step of the run is recorded at Standard quality; the line beside the run button reads Standard quality · about 1 to 3 MB a minute per step. When no agent of the account can record, the checkbox is disabled with None of your agents can record the screen.

From an AI client ​

The Kadmo MCP server's dispatch_agent_job takes recording: "standard" or "high". Leave it out for no recording.

When the agent cannot record, the job is not created: the tool answers with an error that names the agent and the reason, for example ‹agent› cannot record the screen: the screen-record plugin is not installed on it. or ‹agent› cannot record the screen: it has no display to record. The tool's description calls this refusal recording_unavailable; the app's own job requests refuse with that code and the same sentence.

What is recorded ​

The whole desktop is on the video

Kadmo records the agent's whole desktop: the browser, the job's terminal, the transcript and anything a tool prints in it, and every other window that is open. Nothing is blurred or cut out. Ask for a recording only for a job whose screen you are willing to share with everyone who can open the job.

The recording starts just before the job's terminal opens and stops when the coding app exits. A playbook step is recorded the same way, for the step's whole life.

A recorded job runs alone on its agent: it waits until the agent has no other job, and no other job starts there until it ends. If its agent can no longer record while it waits (or, with no agent picked, no free agent can), the Jobs queue marks it waits · recording: Waiting to record the screen: ‹agent› cannot record its screen now.

Quality and size ​

QualityPictureFrame rateAbout
Standard (the default)720p (1280 pixels wide)5 frames a second1 to 3 MB a minute
High1080p: the agent's display at its own size10 frames a second5 to 20 MB a minute

A recording stops at 500 MB. The job runs on; the video ends where the recording stopped, and the job page says how much is missing (see When something goes wrong). For a long job, pick Standard.

Where the video lands ​

On the job page ​

While the job runs, REC and the minutes recorded so far show beside LIVE on the agent's desktop.

Once the job has ended, the frame's head reads Screen recording and the video plays in the Live desktop's place. Under it:

  • the line with the video's length, size, picture size and frame rate;
  • Download, the MP4 file;
  • Copy link, a share link that opens without signing in;
  • ⋯ → Remove, for account admins.

In Artifacts ​

The recording is one of the job's artifacts. In the Artifacts ledger it is a Recordings kind, with the source Recorded: its tile shows the video's first frame with a play mark and the length. Open it to play it, with Copy link, Open in tab, Download and Remove. The video carries the note Recorded by Kadmo at the job's end.

A share link opens a page with the player, the file's line and Download, and the note This link was shared from Kadmo. The account that shared it can revoke it at any time; nothing else on the account is reachable from here.

Who sees it ​

Everyone who can open the job can watch and download its recording. A share link opens for anyone who has it, until the account revokes it. Only an account admin can remove the recording.

When something goes wrong ​

The line under the frame on the job page says where the recording is.

The job page saysWhat it meansWhat to do
Recording since the job started, N min so far. The video takes this frame's place when the job ends.The job runs and is being recordedNothing
The screen recording has not reached Kadmo yet: the agent uploads it after the job ends and retries at its next check-in.The job has ended; the video is on its wayWait a few minutes and reload the page
The recording stopped at 500 MB after ‹length›. The last N minutes of the job are not on the video.The video reached the capRecord the job again at Standard, or split it into shorter jobs
The screen recording did not reach Kadmo: ‹reason›. The agent keeps the file for 24 hours and tries again at its next check-in.The upload failedWait: the agent retries every few minutes. After 24 hours the file is gone
No screen recording: the agent's display could not be captured when the job started (‹reason›), so the job ran without one.Nothing could be recordedCheck the agent's Screen recording line (below), then run the job again

What an agent needs ​

An agent can record when it has four things:

It needsWhere it comes from
A desktop to recordEvery agent Kadmo installs has one: the cloud agents, a self-hosted machine and a Docker or Kubernetes agent all get the agent's desktop with the install
ffmpegInstalled with the screen-record plugin
The screen-record pluginPre-selected for every role in Agent tools when you create an agent and in the self-hosted install commands
The Kadmo Agent Runtime 0.5.0 or laterThe runtime version Kadmo serves its agents: an agent takes it at its next update, or at once with Self Update

The agent's page says whether it can record. Under its plugins, the Screen recording line reads one of:

  • Available. A job started with Record the screen on is recorded here: the agent's display, ffmpeg and the screen-record plugin v‹version›.
  • Not available. The screen-record plugin is not installed on this agent. Add it from the agent's plugins and apply.
  • Not available. This agent has no display to record, so Record the screen is off for it in the Run modal. A self-hosted agent gets one with the desktop component.

The agent reports whether it can record with every check-in. An agent records once its runtime is new enough: after a Kadmo release, run Self Update on it.

The plugin is installed with the agent, and a running agent cannot add it: neither the agent page nor Self Update installs a plugin. An agent built without it gets it only with a new install: create a new cloud agent with screen-record ticked in Agent tools; for a self-hosted agent, take the commands of Moving an agent, which carry the plugins the agent was first installed with, add screen-record to their KADMO_PLUGINS and run one on a fresh install.

The plugin's own clips ​

An agent's model can also record a clip by itself, with the screen-record plugin's tools (see The screen-record plugin). Such a clip is not the job's recording: the model publishes it like any other file, and the 25 MB limit for a published file applies.