General overview
Every time you are building a sandbox template, we create a container based on the definition. We extract the container’s filesystem, do provisioning and configuration (e.g. installing required dependencies), run layers commands and start a sandbox. Then, these steps happen:- We take the running sandbox.
- (Only if you specified the start command, otherwise this step is skipped) Execute the start command.
- Wait for readiness (by default 20 seconds if start command is specified, otherwise immediately ready). Readiness check can be configured using ready command.
- Snapshot the sandbox and make it ready for you to spawn it with the SDK.
Snapshots are saved running sandboxes. We serialize and save the whole sandbox’s filesystem together with all the
running processes in a way that can be loaded later.This allows us to load the sandbox in a few hundred milliseconds any time later with all the processes already running
and the filesystem exactly as it was.
Default User And Workdir
To learn more about default user and workdir, please refer to the User And Workdir section.Caching
To learn more about caching, please refer to the Caching section.Kernel
E2B sandboxes run on an LTS 6.1 Linux kernel.The exact kernel version available in your sandbox depends on when your template was built:
| Template build date (DD.MM.YYYY) | Kernel version |
|---|---|
| ≥ 27.11.2025 | 6.1.158 (current) |
| < 27.11.2025 | 6.1.102 |
Note:You can find the kernel configuration files for each version here.
Kernel versions are fixed at template build time.
If your template was created on an older kernel, the kernel cannot be upgraded or changed for that template.
To use a newer kernel, you must rebuild the template or create a new one.