Skip to content

update

Update an existing deployment with new HTML or files. The live URL stays the same; the content updates immediately.

Annotations

AnnotationValue
readOnlyHintfalse
destructiveHintfalse
openWorldHinttrue

Parameters

NameTypeRequiredDescription
idstringYesThe deployment ID to update
htmlstringNo*New HTML content (single-file update)
filesarrayNo*New files (multi-file update — replaces all existing files)
titlestringNoPage title. If omitted, kept unchanged.
descriptionstringNoMeta description. If omitted, kept unchanged.
faviconstringNoFavicon emoji. If omitted, kept unchanged.
is_spabooleanNoSPA routing fallback. If omitted, kept unchanged.

*Either html or files is required.

files array format

Same as the deploy tool — each file has path, content, contentType, and optional encoding.

When passing files, all existing files are replaced with the new set. Include any files you want to keep.

Return format

Updated successfully!

URL: https://my-site.based.page
ID: dep_abc123

Example

User prompt:

"Update my waitlist — change the headline to 'Now in Public Beta'"

What Claude does:

  1. Calls get_status to retrieve the deployment ID and current state.
  2. Modifies the HTML with the new headline.
  3. Calls update with the deployment ID and new HTML.
  4. Returns: "Updated! https://my-waitlist.based.page is live with the new headline."

Notes

  • URL preserved. The slug and subdomain don't change after an update.
  • Live immediately. Updates apply as soon as update returns — no review step.
  • Multi-file updates replace all files. If you only want to change one file in a multi-file deploy, include the unchanged files in the files array as well.
  • Switching modes. You can update a single-file HTML deploy to multi-file (or vice versa) by passing the appropriate parameter.

Deploy apps from conversation.