Skip to main content

Deploy failed

A deploy that fails almost always says why. This page shows where to read it and what the common messages mean.

Where to look

The message itself. Most refusals appear straight away as a message in the deploy dialog or as a notification.

The log panel. While a deploy runs, its log streams at the bottom of the screen. The last lines before it stops are usually the cause.

The Deployments tab. Open the lab and go to Deployments. Each recent attempt shows its status, when it started, how long it took, the exit code, who triggered it and, if it failed, the error text.

The list of deploy attempts with one failed attempt showing its exit code and red error text, and ideally the amber 'failed but a container is running' warning.

The Activity tab. Shows what happened to the lab around the deploy — for example that it was stopped by a limit, or crashed after starting. See Lab stopped unexpectedly.

Common errors

MessageWhat it meansFix
You can only deploy N labs at a time. Please stop a lab to deploy a new one.You are at your running-labs limitStop or pause another lab. See Plans and limits.
Your organization can run N labs at a time on its plan…Same, for an organizationStop one of the organization's labs
Copy limit reached (N of M)…You have as many copies as your plan allows. Stopped copies count too.Terminate a copy you no longer need — only that frees a slot
Copy deployments are not available on your plan for this lab.This lab's template does not allow copies on your planUse the main lab, or upgrade
Domain '…' is already attached to your running instance '…'.A domain can be served by one lab at a timeRemove it from that lab, or stop that lab, then deploy
…is not registered on this platform. Add it under Domains first.A domain in the lab's settings is not on your accountAdd it on My Domains, or remove it from the lab's Preferences
No DNS entries to take you public. Please add Domains to continue.You chose Public without any domainAdd a domain first
A storage migration is in progress for this account — deploys resume when it completes.Your storage is being movedWait for it to finish
Build required — Build this template firstThe template has never been built successfullyBuild it, or ask its author to
This template is not published for deployment yet (still in alpha/draft)The author has not released it to othersWait, or ask the author
Deploying templates requires a paid planTemplates made by other users need a paid plan to deploySee Plans and limits
This lab was paused by the platform (subscription). Renew your plan to resume it.Your subscription lapsedRenew your plan
Port N is reserved or invalid for custom proxies.An HTTP proxy uses a port the lab already needsPick another port — see Publishing ports

The deploy failed, but the lab is running

The Deployments tab flags this case in amber:

The deploy command failed but a container is running — this lab may be incompletely configured (for example with no VPN address). A redeploy is safest.

It means the machine started, but a later setup step did not finish. The lab may look normal while missing something — most often its private address, so SSH and the tunnel do not reach it even though the browser editor works.

Redeploy it. A clean redeploy runs every step again.

The deploy succeeded, but something is missing

SymptomCause
A package you installed is goneEverything outside your home directory is rebuilt on each deploy. Use a startup script.
New domain or port not liveDomain and port settings apply on redeploy — use Apply & Redeploy now
New SSH key not acceptedKeys are installed at deploy time. Redeploy after adding one.
The lab stops soon after startingYour startup script may be failing, or the app is running out of memory. Test the script with Run now and check Activity.

Do it with an AI assistant

You can also do this by asking an AI assistant connected to your account — see Connect an AI assistant to set one up.

AskWhat the assistant does
“My lab failed to deploy — what went wrong?”lab_status, then lab_logs
“Is my startup script the problem?”Reads it with lab_startup_script and matches it against lab_logs
“Deploy it again and watch it”deploy_lab, then wait_for_deploy
“It says deployed but my app is not up”lab_probe, then list_lab_processes and lab_process_logs
Read the log before redeploying

Most failures repeat until their cause is fixed. If the assistant is told a deploy of that lab is already running, it should wait, not try again.

Next