Every task runs in a fresh Strands Box inside a Lambda MicroVM. The agent gets no grant on the project, so each command and each file it touches goes through Strands Shell, and the Dogwood policy decides. Pick steps, run them, and read every decision the box recorded.
Compose
one box per runThe scripted agent calls the same three tools as the Strands SDK agent, in the order you set. No model access needed.
Project files
Every box starts from README.md, .env, hello.py, util.py and scratch.txt. Add or replace files for this run.
Result
Nothing has run yet
The default steps read README.md, try .env, try to delete scratch.txt, and count Python lines.
Expect two denials.
The strands-box microVMs in this account, through microvm-ctl's FleetManager and Fleet. Launches are throttled to the RunMicrovm quota. Every launch carries an idle policy and a lifetime cap, so nothing here runs forever.
microVMs
| microVM | State | Version | Age | Actions |
|---|
Fleet.dispatch spreads many boxes over the RUNNING microVMs. Each VM gets a fixed number of requests in flight and pulls the next task when one finishes, so a slower VM takes fewer. Use it when the VMs are already warm and each task is short.
Dispatch over the warm fleet
Uses the steps from the Run tab. Each task adds a step that echoes its index.
A lease hands one microVM one job: the task list travels in runHookPayload, the hook runtime runs the boxes and reports progress, and microvm-ctl sizes the whole fan-out against your quota before anything launches.
Plan and launch
Fleet job
Launch leases to follow each microVM's phase and progress here, polled every two seconds through GET /status.
The two files that define every box. The box.toml template decides what the agent's own process can reach with no policy decision; the Dogwood policy decides everything that goes through Strands Shell and the egress gateway.
policy.dw
Dogwood: permit and forbid, deny by defaultbox.toml template
rendered per task under /work/<task>Measured on the live service in us-east-1 with fleet/scenarios.py: a 1 GB, 2 vCPU microVM image, Strands Box 0.1.0, the scripted agent running five steps. Hover a chart for values; each chart has a table.
How this playground has been used, counted on the server since it went live. Only totals are kept: no IP address, key, prompt, file or full command, just the first word of each step and the rule that decided it.
Every AWS API call and endpoint request this playground made, newest first.
| Time | Service | Operation | Status | ms |
|---|