Lifecycle
How a sandbox starts, goes idle, restarts, and what survives in between.
Starting
A sandbox starts when you open a project. The interface reports its progress through the same phases the platform observes:
| Phase | What is happening |
|---|---|
| Provisioning | The environment is being scheduled |
| Booting | The environment is starting |
| Installing | Dependencies are being installed |
| Compiling | Your framework is building its first output |
| Starting server | The dev server is coming up |
| Ready | Your application is serving |
Install is skipped when dependencies are already present from a previous session, which is the common case after the first start.
Going idle
A sandbox stops after a period of inactivity. Stopping is graceful: running processes are asked to terminate, buffered writes are flushed, and the workspace is released cleanly.
Idle timeouts depend on your plan. Paid plans keep environments available significantly longer than the free tier.
Restarting
Reopening a stopped project starts it again. It does not start from a blank slate — see below.
What persists
Everything under your project directory is written directly to persistent storage as your application runs. Concretely, this survives a stop:
- your source files, including changes made from the canvas, the editor, the terminal, or the AI agent
- installed dependencies
- framework build caches
- anything else your application writes inside the project directory
What does not persist:
- processes and their in-memory state — a restart is a cold start for your application
- files written outside the project directory, such as
/tmp - environment variables set only for the current shell session
A sandbox is a development environment, not a backup. Commit your work to version control for anything you cannot afford to lose.
Concurrent access
A project's workspace is held exclusively by one running environment at a time. If a second start is attempted while the first is still running, it waits rather than opening the same files twice — this is what prevents two environments from corrupting a shared workspace.