Practical overview
When it fits
Use Forkd when an agent workload benefits from many isolated environments based on the same prepared state, or needs to branch a running VM instead of restarting from a cold boot.
Who it is for
- Developers building AI-agent systems that need parallel, isolated execution environments.
- Teams operating Linux hosts that want to reuse prepared runtimes, dependencies or model state across sandbox children.
Documented uses
- Fan out multiple agent tasks from a warmed parent VM.
- Branch a live sandbox to explore alternative actions from its current state.
- Prepare reusable environments from snapshot packs or Docker images.
- Use Python, TypeScript or CLI interfaces to manage sandbox lifecycle and branching.
Requirements & limits
The project is a public GitHub repository identified as Apache-2.0 licensed. Its documented deployment model is self-hosted on Linux.
- The standard quick-start path requires x86_64 Linux with KVM; the README specifies Ubuntu 22.04 or newer.
- Live branching requires Linux 5.7 or newer and
vm.unprivileged_userfaultfd=1orCAP_SYS_PTRACE, along with the project's vendored Firecracker fork. - A prepared snapshot pack is the shorter documented route; building from a Docker image supports custom environment recipes.
- The README describes a CLI and daemon, plus Python and TypeScript SDKs; it also documents MCP SDK controls for live branching.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare and fork a snapshot pack
Set up the documented Linux host path and spawn child sandboxes from a prepared pack.
Before you start
- x86_64 Linux with KVM; the README specifies Ubuntu 22.04 or newer.
- CLI and daemon binaries, installed from the project's release tarball.
- Host setup for KVM, tap networking and per-child network namespaces.
Steps
Install the CLI and daemon binaries using the release tarball instructions.
Run the host setup and network-namespace setup scripts for the intended child count.
Run
forkd doctorto check the host configuration.Pull a suitable snapshot pack, then use
forkd forkwith its tag, child count and per-child network namespace option.
Expected outcome
Child microVM sandboxes are spawned from the selected prepared snapshot.
Guide limitations
- This path depends on Linux with KVM and host networking setup.
- The README's latency examples are tied to particular snapshots and host conditions.
Build a snapshot from a Docker image, then fork it
Create and reuse a warmed snapshot based on a Docker image when a suitable prepared pack is not available.
Before you start
- Linux host with KVM and the forkd CLI and daemon.
- Docker image used as the source environment.
- Host setup and networking prerequisites described in the README.
Steps
Run
forkd from-imagewith the Docker image, a snapshot tag and any documented extra packages.Fork child sandboxes from the resulting tag with
forkd fork.
Expected outcome
A warmed snapshot is registered under the chosen tag and can serve as the starting point for child sandboxes.
Guide limitations
- The README estimates the initial image-build path at two to three minutes, with later use cached.
- Host setup and KVM requirements still apply.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 10 October 2026
- Original website title
- deeplethe/forkd · Official homepage title · retained in its source language

