State & time travel
Live fork
Copy a running VM, memory, disk and processes, into new VMs in 36 ms.
What it is
Copy a running VM, memory, disk and processes, into new VMs in 36 ms.
Live fork branches a running FlashVM into any number of copies. Each starts exactly where the original is: set up, built, mid-task.
Why it matters
An agent with three ideas sets up once and explores all three. Set up once, fork, and try every idea in parallel from the same starting line.
- Set up once. Every copy inherits the finished environment.
- Parallel attempts. Each idea runs at the same time in its own VM.
- Keep the winner. Diff it, copy out the fix, remove the rest.
Runs on
- Linux x86_64
- Linux arm64
- macOS
- Windows x64
- Windows arm64
How it works
Fork a running VM by name, or branch from any of its checkpoints.
CLI
flash fork agent-1 --id try-1
flash fork agent-1 --count 3
flash exec try-1 -- sh -c 'cd /work/project && sh apply-fix.sh A && sh run-tests.sh'MCP
flash_cli(args: ["fork", "agent-1", "--count", "3"])API
POST /v1/host/flashvms {"from": {"flashvm": "agent-1", "checkpoint": 3}, "count": 3}The result
Three copies of a set-up VM in 36 ms, instead of three more setups.
All three fixes ran at once, one passed, and the machine was clean again afterwards.
How it works
Related
See it live: flash demo run 20