Skip to main content
Find the symptom you see below and follow its recovery steps. For command syntax, see the CLI reference.
Run npx lettercamp check to see import problems with file locations and fixes. Replace #blog/... and other project aliases with relative paths. Use CSS or Sass stylesheets, and replace external packages such as react-icons with local components or inline SVG. Installing a package locally does not install it on Cloud. See supported imports.
With current CLI deployments, files in public/ are uploaded with their paths intact. Use npx lettercamp check to check your local source. For a build using --remote-assets-only, set design.typography.localFonts to false and use hosted media URLs. See Cloud assets.
Open the created directory and run npm install, then npm run dev. Do not repeat setup in that folder: it is no longer empty. The same steps apply when you deliberately used --no-install.
The starter includes local files for Inter, Geist, Geist Mono, Instrument Serif, and EB Garamond. To use another catalog font, set design.typography.localFonts to false so it loads from the CDN, or provide the required local files. See Local fonts.
Run npx lettercamp deploy again from the same folder. It resumes the saved deployment. If you edited local files after the interrupted upload, deploy once more after it finishes to publish those edits.
Someone changed the source through another deployment or the web editor. Deployment stops before uploading. Review the changes in Cloud, or run npx lettercamp deploy --new to publish this folder as a separate site. The CLI does not offer to overwrite those remote edits.
Run npx lettercamp whoami to check the account, and sign in with the correct account if needed. Deployment never selects another existing site as a fallback. To create a new destination, run npx lettercamp deploy --new.
Run npx lettercamp domain to resume. For hostnames, check every printed DNS record. For subfolders, deploy the proxy rules on your existing website and preserve the entire subfolder path. Its HTTPS verification URL must reach Lettercamp directly, without a login or redirect.
Upgrade to Node.js 22.23.4 or newer, then run node --version in your current terminal to confirm the active version. Reinstall the CLI if your Node.js version manager keeps separate global packages for each version.
Confirm that the global install succeeded and your package manager’s global executable directory is on your PATH. You can also use npx lettercamp@latest dev from your publication directory.
Choose a new directory for npx lettercamp new. If you already have a publication, open its directory and run npx lettercamp dev to preview it.
Run npx lettercamp dev from the publication root, where settings.json and pages/ are located. Make sure settings.json contains valid JSON.
The CLI tries 8888, then 4000, 5000, 6000, 7000, and 8000. If all are busy, it searches from 3001 upward. Open the printed preview URL, or use npx lettercamp dev --open to open it automatically. Use --port to override this order and search sequentially from your chosen port.
Use a Node.js version manager or configure npm’s global installation directory so your user can write to it. To run the CLI without a global installation, use npx lettercamp@latest followed by the command you need.