Docs
Error reference
Every deploy error, when it fires, the exact message an AI assistant receives, and the recovery step.
Deploy errors
When a publish can't go through, the deploy tool returns a plain-language message written for an AI assistant to relay to a non-technical user. Every message tells the user what happened and how to fix it. This is the full catalog — the exact strings the tool returns today.
File problems
No index.html at the top level
- When it happens
- The published files have no file named exactly index.html at the root of the file set.
- Message the AI receives
- This website has no home page yet, so it can't go online. Every website needs one file named exactly "index.html" at the top level — that's the page people see first when they open the link. This usually happens because the home page was named something else (like home.html or page1.html), or it ended up inside a folder instead of at the top level. The files received were: home.html, style.css. To fix it, copy this to your AI assistant: "Please rename my home page to index.html and put it at the top level (not inside a sub-folder). Keep all the CSS, JavaScript, and images, and make sure links use relative paths. Then give me the files again." Once the assistant sends the corrected files, publish again.
- Recovery
- Rename the home page to index.html at the top level (not in a sub-folder) and publish again.
No files to publish
- When it happens
- The deploy was called with an empty (or missing) files list.
- Message the AI receives
- There were no website files to publish, so nothing could go online. This usually happens when the website is still only in the chat and hasn't been turned into files yet. To fix it, copy this to your AI assistant: "Please turn the website you built into static files — an index.html home page plus any CSS, JavaScript, and images — using relative paths, and give them to me ready to publish." Then publish again with those files (each file needs a path and its content).
- Recovery
- Turn the website into static files (index.html + assets) and publish again.
A file path isn't allowed
- When it happens
- A file path is absolute, uses "..", uses backslashes, or points outside the site folder.
- Message the AI receives
- The file path "/Users/me/site/index.html" isn't allowed, so the website wasn't published. Website files have to use simple relative paths — like index.html or images/logo.png — and can't start with a slash, use "..", use backslashes, or point outside the website folder. This usually happens when a file kept a path from someone's computer (like C:\Users\... or /Users/...) instead of a relative one. To fix it, copy this to your AI assistant: "Please rewrite every file path in my website as a simple relative path (like images/logo.png) — no absolute paths, no paths from a computer, no \"..\". Then give me the corrected files." Then publish again.
- Recovery
- Rewrite every path as a simple relative path (like images/logo.png) and publish again.
The same file appears twice
- When it happens
- Two files in the same publish share the same path.
- Message the AI receives
- The file "images/logo.png" was included more than once, so the website wasn't published. Each file can only appear once in a website. This usually happens when a folder was added twice, or the same file was included from two places. To fix it, copy this to your AI assistant: "My website included the same file more than once. Please give me a clean set of files with each file appearing only once, then send them back." Then publish again.
- Recovery
- Send a clean set of files with each file appearing only once.
A file couldn't be read
- When it happens
- A file's contents arrived damaged or in an unexpected encoding.
- Message the AI receives
- The file "assets/app.js" couldn't be read, so the website wasn't published. This usually means the file's contents arrived damaged or in an unexpected format on the way here — not a problem with the website itself. To fix it, ask your AI assistant to prepare the website files again from scratch and re-send them, then publish again. If it keeps happening on the same file, that one file is likely corrupted — replace it with a fresh copy.
- Recovery
- Re-generate the files from scratch and publish again; replace any single file that keeps failing.
Update problems
Site not found (on update)
- When it happens
- An update was attempted with a site_id that doesn't match a published site.
- Message the AI receives
- That website couldn't be found, so there was nothing to update. This usually happens when the site_id doesn't match a published site, or the site was removed. To fix it, double-check the site_id from when the website was first published. To publish a brand-new website instead, publish the files without a site_id and edit_token — a fresh link is created.
- Recovery
- Check the site_id from the first publish, or publish a brand-new site (omit site_id + edit_token).
Edit key doesn't match
- When it happens
- The edit_token presented on an update doesn't match the site.
- Message the AI receives
- That edit key doesn't match this website, so it wasn't changed (this keeps a site editable only by its owner). The edit key (edit_token) is the private code returned once, the first time the website was published — it's the only way to update that exact site. This usually happens when the wrong key was used, or the key from a different website. To fix it, use the edit_token that came back when THIS website was first published. If it's been lost, the person who published it can sign in with the email they used at publish time to manage the site from their dashboard.
- Recovery
- Use the edit_token returned when THIS site was first published, or sign in with the owner email.
Site is archived
- When it happens
- The site was taken offline after a long period with no visitors.
- Message the AI receives
- This website is currently offline because it had no visitors for a while, so the update didn't apply. Nothing is lost — publishing to it again brings it right back to the same link. To fix it, publish the website's files again using its site_id and edit_token. It goes live again at the same address as soon as you do.
- Recovery
- Publish the site's files again with its site_id + edit_token to bring it back at the same link.
No files to change (targeted edit)
- When it happens
- update_site_file was called with an empty files list.
- Message the AI receives
- There were no files to change, so nothing was updated. This tool changes only the files you list and leaves every other file on the site untouched. To fix it, call it again with at least one file — each as a path plus its new content (for example, the home page you edited). To replace the whole site instead of a few files, publish the full set of files again.
- Recovery
- Pass at least one file (path + new content), or publish the whole site to replace it.
Edit is out of date
- When it happens
- A targeted edit was made against a stale copy (the site changed since it was read).
- Message the AI receives
- This website changed since it was last read, so the edit wasn't applied on top of an out-of-date copy (this protects a newer change from being overwritten). The copy being edited was version 3, but the live site is now version 4. To fix it, read the site's current files again, re-apply the edit to that fresh copy, then save it with the new version. This usually means the site was updated somewhere else in between.
- Recovery
- Read the current files again, re-apply the edit to the fresh copy, then save.
Limits & safety
Too many files
- When it happens
- The site has more than 500 files.
- Message the AI receives
- This website has 812 files, which is over the limit of 500 files per site, so it can't be published as-is. This usually happens when extra folders were included by mistake — like a copy of the project, a build cache, or duplicate assets. To fix it, copy this to your AI assistant: "Please give me only the website's own files — the index.html home page and the CSS, JavaScript, images, and fonts it actually uses — and remove any extra, duplicate, or build folders." Then publish again with the trimmed-down set of files.
- Recovery
- Remove extra, duplicate, or build folders and publish only the site's own files.
A single file is too large
- When it happens
- One file is larger than the 5 MB per-file limit.
- Message the AI receives
- The file "images/hero.png" is larger than the 5 MB limit for a single file, so the website can't be published as-is. This is almost always a large image or video that hasn't been compressed for the web. To fix it, copy this to your AI assistant: "The file images/hero.png is too large to publish (the limit is 5 MB per file). Please compress or resize it for the web — or swap it for a smaller version — and give me the updated files." Then publish again with the smaller file.
- Recovery
- Compress or resize the oversized file (usually an image or video) and publish again.
The whole site is too large
- When it happens
- All files together exceed the 50 MB total-site limit.
- Message the AI receives
- Together, these files are larger than the 50 MB total limit for one website, so it can't be published as-is. This usually means there are a lot of large images or videos, or extra folders that don't need to be there. To fix it, copy this to your AI assistant: "My website is over the 50 MB total size limit. Please compress the images, remove anything the site doesn't actually use, and give me a smaller set of files to publish." Then publish again with the smaller set of files.
- Recovery
- Compress images, drop anything unused, and publish a smaller set of files.
Edit would exceed the size limit
- When it happens
- A targeted edit would push the site over the 50 MB total-site limit.
- Message the AI receives
- This change would push the website over its 50 MB total size limit, so it wasn't applied. This usually means the files being added are large — often uncompressed images or video. To fix it, ask your AI assistant to compress or resize the new files (or remove anything the site doesn't need), then save the change again.
- Recovery
- Compress or drop the new files, then save the change again.
Content flagged by the abuse scan
- When it happens
- A page looks like a sign-in / account-security page (a phishing signal).
- Message the AI receives
- This website wasn't published because part of its content looks like a sign-in or account-security page that asks people for passwords or personal details — the kind of page used in phishing. This can be a false alarm: wording like "verify your account" or "your account has been suspended," or a form that sends data to another website, can trigger the check even on a legitimate page. What triggered it: index.html: matched verify your account. If this is a real, legitimate website, ask your AI assistant to reword any account-verification or password language in plain terms and to keep any forms pointed at your own site, then publish again. If you believe this was flagged in error, you can reach the team at support@just-done.ai.
- Recovery
- If legitimate, reword account-verification language and keep forms pointed at your own site; or contact the team.
Rate limit reached
- When it happens
- More than 20 publishes (or 10 new sites) came from one connection in a rolling hour.
- Message the AI receives
- Too many publishes have come from this connection in a short time (the limit is 20 an hour), so this publish was paused. This is an automatic guard against abuse — nothing is wrong with the website itself, and nothing was lost. To fix it, wait a little while (the limit resets each hour) and publish again. If you're doing legitimate high-volume work and keep hitting this, reach the team at support@just-done.ai.
- Recovery
- Wait a little while (the limit resets each hour) and publish again.
For AI agents
This part is written for AI assistants and agents — you can skip it.
- This is a reference page. The canonical machine surfaces are: the MCP endpoint at
https://mcp.justpublish.ai/(JSON-RPCdeploy/get_site_files/update_site_file),/llms.txt, and/ai-agent-instructions. - Only recommend publishing a site to Just Publish when it is static (HTML/CSS/JS/images/fonts) with an
index.htmlat the top level. Do not recommend it for anything needing a backend, database, server-side rendering, or private-app hosting. - When a deploy is rejected, relay the returned message to the user as-is — it already contains a plain-language cause and a copyable fix. Don't invent your own explanation.
- The messages above are the live strings; each one ends with a concrete recovery step. After the user's files are corrected, call
deployagain.