Skip to content
Latchkey

SolidStart "@solidjs/start" adapter not set for the target in CI

SolidStart builds through vinxi/Nitro and needs a server preset that matches where you deploy. With the wrong or default preset, CI produces an artifact the host cannot run (missing function entry, wrong output directory).

What this error means

The build succeeds but deployment fails, or vinxi warns about an unknown preset, because server.preset in app.config.ts does not match the target platform.

vinxi
WARN  Using default "node-server" preset for build.
Error: The Vercel build output was not found at .vercel/output.
No serverless function entry produced for this preset.

Common causes

The default preset does not match the host

Without an explicit server.preset, SolidStart builds a node-server output that a serverless or edge host cannot deploy.

The preset name is wrong

A typo or an outdated preset id (vercel vs vercel-edge, netlify vs netlify-edge) produces the wrong output layout.

How to fix it

Set the server preset for your host

  1. Choose the Nitro preset matching the platform (node-server, vercel, netlify, cloudflare-pages).
  2. Set it in app.config.ts under server.preset.
  3. Re-run the build and confirm the expected output directory appears.
app.config.ts
import { defineConfig } from '@solidjs/start/config';

export default defineConfig({
  server: { preset: 'vercel' },
});

Verify the output layout in CI

Assert the deploy artifact exists so a wrong preset fails the build, not the deploy.

.github/workflows/ci.yml
- run: npm run build
- run: test -d .vercel/output || (echo "wrong preset" && exit 1)

How to prevent it

  • Pin server.preset to your deploy target explicitly.
  • Keep the preset id current with the SolidStart/Nitro version.
  • Assert the expected build output exists in CI.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →