About Freestyle VMs
An introduction to Freestyle's Virtual Machine (VM) service and what makes it different.
This document provides a high-level overview of Freestyle's VM service, its features, and why to use it.
To get started with Freestyle's VM service, check out the Getting Started Guide.
Overview
Freestyle VMs are full Linux virtual machines designed for speed and flexibility. They start in under a second, pause and resume instantly, and can be forked mid-execution without interruption.
Features
Sub-Second Startup
VMs provision in under 800ms from API request to running machine. Traditional cloud VMs take minutes. This speed comes from memory snapshots—when you get a VM, it's already booted and running, not starting from a powered-off state.
Pause and Resume
VMs can be paused in their running state and resumed later in under 100ms, returning to the exact same memory state. A game server can pause when no players are connected and resume instantly when someone joins—no boot time, no lost state.
Hibernation
VMs can be left paused for any period of time. In this period you are not billed for CPU or memory; only storage. You can unpause a paused VM manually, by sshing into it, by network activity, or by running commands in it, when its unpaused it will be in the exact state you left it. You can have users work on their VM during the day, have it hibernate overnight, and be in the exact same place when they come back in the morning.
Auto Pause
VMs can be configured to automatically pause based on a network activity and command timeout. This is ideal when you have user driven sandboxes that only need to be running when the user is around.
Forking
A running VM can be forked without noticeably pausing the original. Fork it N times with minimal performance impact. If an AI agent is browsing a website and wants to explore 20 different paths, fork the VM 20 times and let each copy explore independently—all from the same browser state.
Specs and Caching
VMs are built from layered specs. Snapshot layers are cached for fast startup, while outer layers are applied per VM. See Specs and Snapshots for details.
Cache Semantics
Freestyle offers durable storage for use cases where the VM is the source of truth, we also offer cache storage, if you set a VMs persistence to sticky we will keep it until you hit your account limits, and then automatically prune lower priority and less used VMs to save you money and give you more room. This is ideal when VMs are used as workbenches but not source of truth; it would be better if the environment was already set up for speed and convenience, but if its not a huge deal if you have to re-run the setup process.
Layered Git Repo Caching
For applications based around user git repos that are based on specs, Freestyle has built in layered caching for generating a cache based on the base repo, but repointing and running on user repos. This makes first time new repo experiences incredibly fast while saving costs by using a shared cache layer based on the spec.
Integrations
Integrations add common functionality to VMs: language runtimes like Node.js, Python, Bun, and Ruby, plus databases, browsers, and more. Each integration includes caching for fast startup and a client SDK for easy use. You can also build custom integrations.
Access Control
VMs support multiple Linux users and groups, SSH access, and API access via identities and tokens.
Developer Experience
SDK
Freestyle offers the best in class TypeScript SDK. Freestyle Integrations make doing advanced operations strong typed, discoverable and easy to do with best practices. Freestyle has a Python SDK that is comparable to other SDKs in the market.
MCP
Freestyle VM MCP lets you connect your AI to your VMs in minutes. The MCP has tools for listing files, executing commands, search and replace and much more. It is designed based on the tools in Claude Code.
Client Side Sessions
Freestyle VMs can be controlled from the client side be access tokens. These come with granular permissions based on individual VMs and linux users. The SDK can also be used on the client with these access tokens. This lets you build performant apps without an extra server hop, and can simplify access management/agent setup to an extreme degree in certain cases. These access tokens also work with Freestyle Git Repos, making it easy to give a user an access token and manage all of their permissions through it. Docs Here
Beyond Sandboxes
Many sandbox platforms restrict what you can run to keep things simple. Freestyle VMs are full Linux environments with low-level access: SSH, systemd, multiple users and groups, and configurable networking. Some sandboxes limit you to building around containers, Freestyle lets you run any Linux-compatible software, including any container, or multiple containers in one VM. Other sandboxes also build out the utilities like runCode as a core part of their platform, which limits what their users can build. Freestyle's flexible integration scheme means our base images are minimal, and you can add exactly what you need. You can see this in how Freestyle has integrations for tons of programming languages, while other sandboxing platforms often support just TypeScript or Python.
Beyond EC2s and Traditional VMs
Traditional cloud VMs are slow — they take minutes to start. Kubernetes on AWS/GCP can take hours to get a new node. They are built around large chunks of compute without secure virtualized isolation of small pieces in mind. While this makes sense for big applications, if you're trying to run lots of small VMs for AI workloads, the overhead is significant and the performance is poor.