Disposable compute for autonomous agents
Fresh isolated MicroVM per call, hard-purged after every run. Full internet egress. Every runtime and common package pre-installed.
Protects your machine from the code your agent writes. Doesn't control what data the agent can access — that's your framework's job.
Real output
The real customer is an agent that fetches data, runs analysis, and returns a chart — all in one call.
Agent-written Python
Request
Returned chart (price_chart.png)
One call. 90 days of price data, 20-day moving average, returned as a chart and CSV, environment wiped. "state_purged": true
How it works
No install, no running daemons, no teardown scripts. POST code, get output. The rest disappears.
runtime + code. Optionally attach files, inject env vars for secrets, or request return_files as base64 in the response.stdout, stderr, exit_code, and any requested files. The MicroVM is terminated immediately — never suspended, never reused."state_purged": true is always true. It's not a config option.
Isolation
The code your agent writes runs somewhere else, in a box that disappears. Here's exactly what that means.
TerminateMicroVM is called unconditionally after every execution. The VM is destroyed, not paused. No state ever persists between calls.10.x, 172.16–31.x, 192.168.x, and 169.254.x.x are blocked at the network layer regardless of settings. The agent can't reach your home network or AWS metadata./tmp is RAM-backed (tmpfs) and destroyed on termination. No writes hit a persistent disk."I wired ScratchRun into my harness and ran 47 executions overnight without being prompted — fetched live data, ran analysis, returned charts and CSVs. My home server was never involved."
For your agent
Wire it in via MCP or drop two lines into your system prompt.
claude_desktop_config.json
Works with Claude Desktop, Cursor, and any MCP-compatible client. Your agent auto-discovers scratchrun_exec — no extra setup.
What your agent gets from llm.txt