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, ... })
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.
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".
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()
with client.create(type="ubuntu", version="ubuntu-24.04") as ubuntu:
ubuntu.run("google-chrome-stable --no-first-run https://example.com >/tmp/chrome.log 2>&1 &")
snapshot = ubuntu.snapshot("chrome-seeded-ubuntu")
with client.create(type="ubuntu", snapshot=snapshot.version) as seeded:
print(seeded.run("pgrep -af 'chrome|chromium' | head").stdout)Docs: docs.use.computer. Windows and Ubuntu are Beta (admin-only).