Skip to main content
Boxes have an auto-stop timer. The default is 1 hour. The timer counts from creation, not from your last activity: a box with a 1 hour TTL stops one hour after it started, even mid-work. Resuming a stopped box restarts the timer. For work that should keep running until you stop it yourself, disable auto-stop when you create the Box or update an existing Box’s TTL to null:
You can also set No auto-stop from the dashboard. Use this for demos, browser sessions, long setup jobs, or unattended workflows where stopping the VM would interrupt work and force you to restart processes.

Timed Extension

If you still want an auto-stop deadline, extend the Box instead:
2592000 seconds is 30 days. This is the maximum numeric TTL accepted by the Box API; larger values are capped to 30 days.

Resume and Fork

box stop snapshots the filesystem. box resume restores that filesystem, and box fork creates a new Box from the latest snapshot. Resume takes a few seconds regardless of how much data the Box holds. See Snapshots for what is captured, restore behavior, retention, and how to inspect or download a snapshot. Stop/resume behaves like a server reboot: systemd services you enabled start again automatically. Processes you ran by hand (dev servers, background jobs, tunnels, browser sessions) do not survive a reboot; restart them, or make them a systemd service so they come back on their own (see below).

Run an Always-On Service

To make a process survive stop, resume, and fork without any action on your side, run it as an enabled systemd service. The unit file lives under /etc, which is snapshotted, so a resumed or forked box starts it automatically.
Restart=always also revives the process if it crashes. Check on it with systemctl status my-app and read its logs with journalctl -u my-app. These are in-box shell commands: run them over box ssh, or programmatically through the command endpoint or the SDKs’ command method. If the service serves HTTP, expose it with host <port>. Hosting the same port again after a resume returns the same URL and token, so links you handed out keep working. See Hosting. Resume or fork from the latest snapshot when a user needs to continue or branch prior work:
For repeatable workflows, keep setup and start commands idempotent: