Recent newsAnnouncing the First Multi-Player Computer-Use — Live from ClawConRead
Open source13.5k

Cloud sandboxes for every OS

Linux, Windows, macOS, and Android sandboxes with a full GUI desktop. Screenshots, mouse, keyboard, and bash — from a single SDK. Native support for OpenClaw and computer-use agents.

Everything a sandbox should be.

Four operating systems, one SDK

Linux, Windows, macOS, and Android sandboxes. Prebuilt desktop images designed for computer-use agents. Each with a full desktop — browser, terminal, file manager, and native apps.

#!/bin/bash
# 1. Boot up a cloud desktop
cua sb launch ubuntu
# 2. Open a live GUI session
cua sb vnc curious-fox-123
# 3. Control mouse, keyboard, bash
cua sb shell curious-fox-123
# (interactive shell)

Configure, snapshot, and fork

Define your environment with custom dependencies, snapshot it, and fork into parallel runs instantly.

XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Provisioning
Paused
Snapshot Saved
Configure
Snapshot
Fork
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Blinky
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Dropbear
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Gumnut
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Snugglepot
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Cuddlepie
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Wombat
XcodeFileEditView
Tue Apr 1 9:41 AM
KoalaSpots
README
KoalaSpots
Views
Helpers
Regions
Spots
Spot Map View
SpotMapView
SpotDetailView
+
Filter
KoalaSpots|iPhone 16 Pro
Build Succeeded | Today at 9:41 AM
KoalaSpotsViewsSpot Map ViewSpotMapView
343536373839404142434445464748495051
struct SpotMapView: View {
var body: some View {
Map(coordinateRegion: $region,
annotationItems: spots) { spot in
MapAnnotation(coordinate: spot.coordinate) {
SpotPin(spot: spot)
}
}
.mapStyle(.imagery(elevation: .realistic))
.overlay(alignment: .bottom) {
if let spot = selectedSpot {
SpotDetailView(spot: spot)
} else {
Text("Tap a koala spot")
}
}
}
}
#Preview {
SpotMapView()
.environment(SpotData())
}
Wallaby

OpenClaw-ready

Sandboxes work out of the box with OpenClaw and computer-use operator frameworks. Deploy autonomous desktop agents without extra infrastructure — just point your agent at a sandbox and go.

#!/bin/bash
# 1. Boot up an OpenClaw-ready sandbox
cua sb launch ubuntu
# 2. Connect OpenClaw Gateway
cua sb exec curious-fox openclaw start
# 3. Dispatch agent task
cua sb exec curious-fox openclaw agent \
--model claude-3-5-sonnet \
--task "Book cheapest flight SFO→MAD"

Pay per second. Stop anytime.

Linux and Windows from $0.03/hr. macOS on dedicated Apple Silicon from M1 to M4 Pro. Stopping a sandbox preserves all state at zero cost — resume from snapshot in under a second.

Linux & Windows
Small1 vCPU, 4 GB$0.03/hr
Medium2 vCPU, 8 GB$0.06/hr
Large8 vCPU, 32 GB$0.23/hr
macOS (Apple Silicon)
Small8 cores, 16 GBApple M1
Medium10 cores, 24 GBApple M4
Large14 cores, 48 GBApple M4 Pro

Built for computer-use agents and more

OpenClaw-ready

Native support for OpenClaw and computer-use operator frameworks. Deploy autonomous desktop agents to sandboxes with zero extra configuration.

Real GUI, not headless

Every sandbox has a full desktop with browser, file manager, and native apps. Your agent sees exactly what a human would see.

Branch and replay

Snapshot a running sandbox. Fork it into parallel sessions. Replay agent trajectories from any checkpoint.

Lightweight or full-OS

Start with lightweight GUI sandboxes for speed, or use full-OS sandboxes when you need a custom kernel and images.

Watch sandboxes live

Stream the desktop to your browser in real time. See what your agent sees, debug visually, intervene when needed.

Sub-minute cold start

Linux sandboxes boot in under 60 seconds. macOS sandboxes are pre-warmed for near-instant allocation. Resume from snapshot in under a second.

Cua Cloud

Cloud desktops for AI agents

Linux, Windows, macOS, Android.

Start building.

Free sandbox minutes included with every account.