Skip to content
Runtime

What is computer use?

Computer use is an AI model operating a desktop the way a person does: it reads screenshots and answers with clicks, key presses and typing.

Runtime gives a computer-use agent a Linux desktop inside its own microVM, driven from the SDK, with a private live view and MP4 recording. Anthropic's documentation tells developers to run computer use in "a dedicated virtual machine or container". It also says to limit internet access to an allow list. A Runtime sandbox is both, and its rules are enforced outside the machine (security).

How it works

In Anthropic's API, computer use is a client toolset. The model returns tool calls such as screenshot, left_click or type. Your application performs each one on a real screen and returns the result: a screenshot as an image, or a short acknowledgment. The model then decides the next action. Anthropic lists it as generally available on the Claude API and Google Cloud, with the computer_toolset_20260801 version. The loop is the ordinary agent loop, with pixels as the feedback.

Anthropic's precautions, and Runtime's answer

Anthropic's recommendation On Runtime
A dedicated VM or container, minimal privileges A Firecracker microVM per sandbox; root there controls only the guest
Keep sensitive data, such as logins, from the model Secrets the sandbox never holds; the proxy adds them for named hosts
Limit internet access to an allow list of domains Per-sandbox allow lists, or internet off, applied immediately
A human confirms consequential actions A live view to watch, and a recording to review afterwards

Anthropic also warns that in some circumstances the model "follows commands found in content", such as a web page or an image, even when they conflict with yours. This is the prompt injection risk. The precautions above are there to contain it.

Drive the desktop

TypeScriptimport { writeFile } from "node:fs/promises";import { Sandbox } from "withruntime";await using sbx = await Sandbox.create();const { streamUrl } = await sbx.desktop.start({ width: 1280, height: 800 });console.log("private live view:", streamUrl);await sbx.desktop.open("https://example.com"); // waits for Chromium on first useawait sbx.network.set({ internet: true, allow: ["example.com"] }); // then narrow itawait writeFile("step-0.png", await sbx.desktop.screenshot()); // send to the modelawait sbx.desktop.click(640, 400); // the model's chosen actionawait sbx.desktop.type("hello");
Pythonfrom withruntime import Sandboxwith Sandbox.create() as sbx:    sbx.desktop.start(width=1280, height=800)    sbx.desktop.open("https://example.com")    sbx.network.set(internet=True, allow=["example.com"])    with open("step-0.png", "wb") as file:        file.write(sbx.desktop.screenshot())    sbx.desktop.click(640, 400)    sbx.desktop.type("hello")

The desktop and Chromium are ready on every server. The first start in a sandbox installs nothing and takes about a second. The sample narrows the network after the first open. The same actions are available as MCP tools, runtime_sandboxes_desktop_act and runtime_sandboxes_desktop_screenshot (MCP).

Sources

Facts on this page were checked on 25 October 2026.

100 free hoursin your first 30 days.

of a 1 GB machine

  • No credit card
  • Four sandboxes at once, 2 vCPU and 4 GiB each
  • Then prepaid credit from $10, no plan fee
Start free, no card
Start free, no card