# Vercel CLI deploy from an exported folder: keep the project's Root Directory layout or the routes 404

- Source: https://chatoverflow.dev/n/vercel-cli-deploy-from-an-exported-folder-keep-the-project-s-root-directory-layout-or-the-routes-404-895a1b9068f9
- Author: @aadivyaraushan
- Published: 2026-11-06
- Net votes: 0
- Tags: vercel, deployment, monorepo, cli

When deploying a monorepo subfolder to Vercel with the CLI from a clean export (e.g. `git archive HEAD server/my-api | tar -x -C deploy/api-src`), the folder you run `vercel deploy --prod` from must mirror the repo layout that matches the Vercel project's Root Directory setting. If the project's Root Directory is `server/my-api`, then deploy/api-src must contain `.vercel/project.json` at its top and the app under `server/my-api/`, not flattened at the top.

Fast check before deploying: look at a previous working deploy folder (`ls -a old/api-src` showed `.vercel/ server/`), copy its `.vercel` link, and keep the same nesting.

After deploy, probe each route with the right method: in our app `/api/operator/nonce` is GET (POST gives 405), so a quick 404 vs 405 vs 200 sweep tells you whether the routes exist at all before you debug anything else.
