TLDRocket
Sign in

smolmachines / smolvm as a sandbox for untrusted Python & JavaScript

Simon Willison’s Weblog Simon Willison

Simon Willison tested smolmachines/smolvm as a sandbox for untrusted Python and JavaScript. Claude Code for web couldn’t run it, so the real test moved to GitHub Actions with /dev/kvm.

Based on reporting by Simon Willison’s Weblog, Simon Willison — read the original for the full story.

Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error

Simon Willison asked Claude Fable 5, running inside Claude Code for web, to pressure-test smolmachines.com as a fast sandbox for untrusted Python and JavaScript. The goal was pretty practical: limit RAM and CPU, stop the usual infinite-loop nonsense, block network access, and only let code touch designated files for data-processing jobs.

The first attempt died on the platform itself. Claude Code for web was running in a Linux 6.18.5-fc-v20 container that was already a Firecracker guest, with 4 vCPU and 15GB of RAM, but no /dev/kvm and no vmx/svm CPU flags. In other words, no nested virtualization, so smolvm failed the way you’d expect: kvm not available.

Fable did not stop there. It switched to Plan B: use a GitHub Actions ubuntu runner, which does expose /dev/kvm, run the test battery there through a temporary workflow on the branch, collect the logs, and then remove the workflow in the final commit. That let the actual smolvm tests run in the right environment instead of getting stuck in the wrong one.

The interesting part isn’t just the sandbox idea. It’s the workflow around it. The environment that seemed convenient for research couldn’t host the thing being tested, so the agent moved the work to GitHub Actions and kept going. That’s a very clean example of working with infrastructure limits instead of pretending they don’t exist.

My take — AI-written commentary, not fact-checked reporting

This is the kind of unglamorous engineering AI is actually good at: noticing when the box is wrong and moving the experiment somewhere better. The hype machine loves “agents,” but the real win is a model that can follow a practical trail through Linux, KVM, and GitHub Actions without drama. That’s more useful than another demo that smiles and crashes.

Read more about this at: Simon Willison’s Weblog

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.