Official SDKs for use.computer — rent dedicated VMs (macOS, iOS/visionOS/tvOS simulators, Windows, Ubuntu) built for computer-use agents. One surface, three languages:
| Language | Package | Path |
|---|---|---|
| Python | pip install use-computer (PyPI) |
python/ |
| TypeScript / JavaScript | npm install use-computer-sdk |
js/ |
| Go | go get github.com/josancamon19/use-computer-sdk/go |
go/ |
All three expose the same sandbox surface — create({ type, version, ephemeral, ... })
for macOS / iOS / Windows / Ubuntu, plus mouse, keyboard, screenshot,
exec/run, files, recording, and the native UI tree. The Python package also
ships optional computer-use agents and Harbor adapters behind extras, so a base
pip install use-computer stays small.
Sandboxes default to ephemeral=true; pass ephemeral=false when a sandbox
should persist until manual deletion, or call keepalive/start_keepalive
during long idle periods.
On-demand Ubuntu and Windows desktops share a per-account concurrency limit.
The default is 8 running KVM sandboxes at a time. When the account is at the
limit, create calls return HTTP 429 with error="sandbox_limit_reached" plus
limit and running counts.
Stable account keys can reserve one Mac Mini directly from credits, then launch macOS/iOS against that reservation:
from use_computer import Computer
client = Computer()
reservation = client.reserve(hours=24)
mac = client.create(type="macos", reservation_id=reservation.id)Each reserved Mac Mini allows up to 2 parallel macOS VMs. platforms() returns
macos.capacity.max and macos.capacity.used for the selected reservation; for
example, a one-Mini reservation reports max: 2.
pip install "use-computer[agents]" # computer-use agents and provider SDKs
pip install "use-computer[harbor]" # Harbor environment adapter, Python 3.12+
pip install "use-computer[harbor,agents]" # Harbor adapter plus agentsHarbor job YAMLs import the SDK adapter directly:
environment:
import_path: use_computer.harbor.environment:UseComputerEnvironment
kwargs:
platform: macos
agents:
- import_path: use_computer.harbor.agents:AnthropicCUAAgent
model_name: anthropic/claude-sonnet-4-6Examples per language live in examples/.
Windows and Ubuntu report their current desktop display size:
with client.create(type="ubuntu", version="ubuntu-24.04") as ubuntu:
print(ubuntu.display.get_info())Pass CPU/RAM/disk resources with the base OS line to select a baked Windows or
Ubuntu profile, for example
resources={"cpus": 4, "memory_mb": 4096, "disk_gb": 40} with
version="ubuntu-24.04".
When the OSWorld images are deployed, select them the same way:
client.create(type="windows", version="osworld") or
client.create(type="ubuntu", version="osworld").
Runtime snapshots are supported for Windows and Ubuntu. They preserve disk + RAM state, so seeded files, browser sessions, and running processes are still present when you create a new sandbox from the returned snapshot version:
from use_computer import Computer
client = Computer()
# Configure the desktop by hand over VNC, then snapshot it.
with client.create(type="ubuntu", version="ubuntu-24.04") as ubuntu:
print("Set up the desktop here:", ubuntu.vnc_url)
# install apps, sign into accounts, pre-open the windows your agent starts from
input("Press Enter once the desktop is ready to snapshot...")
snapshot = ubuntu.snapshot("chrome-seeded-ubuntu")
# New sandboxes boot from that exact state, no setup needed.
with client.create(type="ubuntu", snapshot=snapshot.version) as seeded:
print(seeded.vnc_url) # apps, logins, and open windows restoredDocs: docs.use.computer. Windows and Ubuntu are Beta (admin-only).