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
| Quality | Picture | Frame rate | About |
|---|---|---|---|
| Standard (the default) | 720p (1280 pixels wide) | 5 frames a second | 1 to 3 MB a minute |
| High | 1080p: the agent's display at its own size | 10 frames a second | 5 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.
On a share link
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 says | What it means | What 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 recorded | Nothing |
| 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 way | Wait 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 cap | Record 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 failed | Wait: 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 recorded | Check 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 needs | Where it comes from |
|---|---|
| A desktop to record | Every 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 |
ffmpeg | Installed with the screen-record plugin |
| The screen-record plugin | Pre-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 later | The 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.