update
Update an existing deployment with new HTML or files. The live URL stays the same; the content updates immediately.
Annotations
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
openWorldHint | true |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The deployment ID to update |
html | string | No* | New HTML content (single-file update) |
files | array | No* | New files (multi-file update — replaces all existing files) |
title | string | No | Page title. If omitted, kept unchanged. |
description | string | No | Meta description. If omitted, kept unchanged. |
favicon | string | No | Favicon emoji. If omitted, kept unchanged. |
is_spa | boolean | No | SPA 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_abc123Example
User prompt:
"Update my waitlist — change the headline to 'Now in Public Beta'"
What Claude does:
- Calls
get_statusto retrieve the deployment ID and current state. - Modifies the HTML with the new headline.
- Calls
updatewith the deployment ID and new HTML. - 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
updatereturns — 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
filesarray as well. - Switching modes. You can update a single-file HTML deploy to multi-file (or vice versa) by passing the appropriate parameter.