Lab stopped unexpectedly
Use this page when a lab you left running is stopped, paused or gone. The Activity tab almost always says why. Read it first, then find the cause below.
Reading the Activity tab
Open the lab and go to Activity. Each event shows what happened, when, and who or what caused it.
| Event | Meaning | Section |
|---|---|---|
| Auto-stopped · expiry | The lab reached its session time limit or was idle too long | Expiry and idle shutdown |
| Auto-stopped · high CPU | It used too much CPU for too long | High CPU |
| Out of memory (OOM) | A process used more memory than the lab has | Out of memory |
| Crashed | The lab's main process exited | Crashed |
| Stopped unexpectedly | The machine was removed or crashed outside a normal stop | Crashed |
| Admin stopped it | An administrator stopped it | Ask your administrator |
| Paused | It was frozen — by you, or by the platform | Paused by the platform |
| Health check failing / Health recovered | The lab's health check stopped passing, or started again | Health check |
| Auto-started · always-on | Always-on brought it back after a stop | Nothing to do |
| Started, Redeployed, Stopped, Resumed | Normal lifecycle, with who did it | — |
Actions taken by an AI assistant connected through MCP are marked as such.
The name beside each event says who caused it: You, the name of someone you shared the lab with, Your agent · via MCP, Admin · name, or System when the platform did it on its own. The full list is in Deploy and redeploy.
Expiry and idle shutdown
Session limits. Some labs — most challenge labs — run for a fixed time. While running they show an Expires in timer. You can Renew a running or paused lab from its page, spending Jolt for more time; the dialog shows the cost and how much time you get.
Renew, then keep working in the same session. A redeploy starts a fresh session.
When the timer runs out, the lab is stopped, any challenge mission in progress fails, and you get a notification. Renew is shown only while the lab is running, to the owner and to anyone it is shared with as Operator or Manager. See Session timers and Renew.
Idle shutdown. Running labs with no activity for a long stretch are stopped — after about a week on the free plan and about a month on a paid plan. Your home directory is kept; deploy again to continue.
Here, activity means yours, not the lab's: on the free plan it is measured from your last activity on the platform, and on a paid plan from your last sign-in. A lab that is busy all day is still stopped if you have not been around. Free-plan users get a notification when it happens; the timeline shows Auto-stopped · expiry. Labs owned by an organization are not stopped for idleness. These windows are defaults — your platform may use different ones.
To keep a lab up regardless, turn on always-on (requires the template to allow it, and a paid plan or 5,000 Zeal).
High CPU
The platform watches for heavy CPU use that goes on for a long time. The sequence is:
- A notification that the lab is running throttled.
- A notification that it is about to be stopped.
- If the load continues, the lab is stopped — Auto-stopped · high CPU. Any challenge missions running in it fail.
The lab's Dashboard tab shows CPU throttle %. 0% is healthy; a high figure means the lab is being held back, not just busy.
To fix it, find the process (top or htop in the lab), stop runaway loops or
builds, and limit parallel jobs (make -j2, fewer workers).
Out of memory
Out of memory (OOM) means a process asked for more memory than the lab has, and was killed. Often the lab keeps running without that process; sometimes the lab stops.
- Check the lab's memory figure on its Dashboard tab.
- Look for the process that grows —
top, sorted by memory. - Reduce it: fewer workers, smaller caches, a smaller data set, or a database from Services instead of one inside the lab.
Memory comes from the lab's template and your plan; there is no slider.
Crashed or stopped unexpectedly
The lab's main process exited, or the machine went away without a normal stop.
- Redeploy.
- If it happens again, test your startup script with Run now — a script that fails can stop the lab from starting.
- Check the Deployments tab for a failed attempt — see Deploy failed.
Paused by the platform
A lab can be paused on the platform's side — for example, by an administrator because a subscription lapsed. Trying to resume shows This lab was paused by the platform (subscription). Renew your plan to resume it. Once your account is on a paid plan again, you can resume it with everything intact.
A lab you paused stays paused until you select Resume — always-on does not resume it, on purpose.
Your plan changed
If your plan is downgraded — or a paid plan ends — to one with a lower running-labs limit, the labs over the new limit are stopped, the ones deployed longest ago first. Always-on is switched off on them so they stay down, and devices over your new device limit are disconnected. A notification tells you how many labs and devices were affected. Your home directories are kept; redeploy the labs you want, within the new limit.
An always-on lab did not come back
Always-on brings a stopped lab back within about ten minutes. It does not when:
| Reason | What to do |
|---|---|
| You paused it | Resume it — always-on never undoes a pause |
| You no longer qualify — below 5,000 Zeal, or no longer on a paid plan | Earn the Zeal back or renew your plan |
| It was over your new limit after a plan change | Always-on was switched off for it. Redeploy it and switch always-on back on. |
| You are at your running-labs limit | Stop another lab |
| An administrator is holding it down | Preferences says so under Always-on. Ask your administrator. |
| Its redeploy fails | Check Deploy attempts on the Activity tab — see Deploy failed |
Health check failing
Labs whose template defines a health check report when it stops passing. In a scale group, a failing replica is taken out of rotation until it recovers. Check that the app inside the lab is running and answering on the health-check path.
Your account was inactive
After a year without signing in, a free account's devices are suspended and its storage retired. Signing in again restores them.
Next
- Stop, pause and delete
- Lab settings — always-on and the startup script
- Deploy failed