Skip to content
Redline
Esc
navigateopen⌘Jpreview
On this page

Machines

A fresh computer per run, and how your own agent reaches it.

Every run gets its own container, of the shape the experiment chose, and gives it back when the run and its judging are over.

The shapes

A new project starts with three:

Shape vCPU Memory Disk
Standard (default) 2 4 GB 20 GB
Performance 4 8 GB 40 GB
Max 8 16 GB 80 GB

You can add your own on the Machines page: a name and the three numbers. A machine is a size and nothing else — every run boots the same machine image, with the selected agent’s CLI installed on top of it, so there is nothing else to choose.

A machine shape that experiments have run on cannot be deleted, and the default one cannot be deleted until another is made the default.

What the agent gets

Ubuntu, with node, python3, git and sudo, starting in /workspace. Everything the experiment attached is placed there before the agent’s first token, and a summary of it is written to CONTEXT.md.

The container is given a few environment variables that say nobody is watching — CI=1, TERM=dumb, NO_COLOR=1 — because agents behave differently when they think there is a terminal in front of them.

Nothing on the machine is shared with anything else. Everything the agent does happens inside the box, and nothing it does can reach the computer hosting it.

Lifetime

Created for the run

Provisioned after the credential check, from the image the agent’s CLI is installed in.

Kept through judging

The evaluator works on the same box, still running, exactly as the agent left it. That is what lets a verdict rest on the file rather than on the claim.

Destroyed

Immediately after the verdict. Nothing survives to the next run, which is why a result belongs to its experiment rather than to what happened before it.

A run that exceeds its time limit — twenty minutes per attempt by default — has its machine killed and is recorded as errored.

machine_run, for your own agent

A catalog agent lives on the machine. Your own agent does not — it runs in your process. So when an experiment attaches something that has to exist somewhere, the SDK gives your agent a machine_run tool:

machine_run({ command: "npm test", cwd: "billing-api" })

A real bash line on the run’s container, starting in /workspace. cwd may be relative; it resolves against the workspace.

It appears in your tool list automatically, and only when the experiment attached a repository, an upload, a CLI, an SDK package or a plugin — skills are text and MCP servers are connections, and neither needs a computer. The box is built lazily on the first call and destroyed once the run is over, so a run that never touches its machine never provisions one.

Was this page helpful?