Skip to content

Troubleshooting a deploy

Each section is one state the dashboard can show you, why it happens, and the one thing that moves it forward.

Setup pending

What you see: the project or repo card reads Setup pending and the project page shows Finish setup.

Why: importing a repo opens a pull request that adds the deploy workflow. Nothing deploys until that PR is merged.

Do this: open the project page and click Merge & deploy, or merge the PR on GitHub. A monorepo import opens one PR for all selected workspaces.

App VM not online

What you see: a server app deploy rests at Pinned with "Your App VM has not come online yet".

Why: the bundle is published, but the App VM that should run it has not reported in. Usually the VM is still booting; sometimes the host it landed on never started it.

Do this: open App VM in the sidebar. The Boot step shows how long the VM has been starting and, after five minutes, offers Delete and start over, which places a new VM on a different host. The pinned deploy installs itself once the VM reports.

Not a site

What you see: a workspace in the import list is greyed out with "Not a site: no build script and no index.html".

Why: the folder has nothing Stasho can serve. Library packages (packages/shared, packages/utils) and workers usually look like this.

Do this: import only the workspaces that are sites or server apps. If the folder really is a site, add a build script to its package.json or an index.html at its root and re-scan.

Next.js server app on the static target

What you see: saving Settings is refused with "A Next.js server app can't deploy as a static site".

Why: a Next.js app without output: "export" builds server code, not static files. Publishing its .next/ folder serves nothing and is usually over the size limit.

Do this: either keep Server app (App VM) as the deploy target, or add output: "export" to next.config, push, then Re-detect in Settings so the framework becomes Next.js (static export) and the output directory becomes out. Pages that use SSR or API routes will not work as a static export.

Deploy target changed

What you see: a deploy reads Failed with "Deploy target changed".

Why: you switched the project between static site and server app. The earlier deploy was built for the other target and can no longer be served.

Do this: click Redeploy. The next build uses the new target.

Build too large

What you see: a deploy fails with "Build is N MB, the limit is 200 MB" or "Build has N files, the limit is 10,000".

Why: static deploys are capped at 200 MB unpacked, 50 MB compressed, and 10,000 files. A build that large usually includes something that is not the site: a framework cache, source maps, or node_modules.

Do this: check the Output directory in Settings points at the built site (dist, out, build), not the project root or a framework work folder like .next. Then Redeploy.