Skip to content

deploy

Deploy HTML to a live URL. Returns a public URL accessible immediately.

Annotations

AnnotationValue
readOnlyHintfalse
destructiveHintfalse
idempotentHintfalse
openWorldHinttrue

Parameters

NameTypeRequiredDescription
htmlstringYesThe full HTML content to deploy
slugstringNoURL slug (lowercase, hyphens only). If omitted, a random slug is generated.

Return format

Returns the live URL, deployment ID, and slug:

Deployed successfully!

URL: https://my-waitlist.invoker.page
ID: dep_abc123
Slug: my-waitlist

Example

User prompt:

Deploy a waitlist page for my app called Acme at acme-waitlist

What Claude does:

  1. Calls use_template with template: "waitlist" to fetch the base HTML.
  2. Customizes the HTML with "Acme" branding.
  3. Calls deploy with the modified HTML and slug: "acme-waitlist".
  4. Returns the live URL https://acme-waitlist.invoker.page.

Notes

  • Form action placeholder: Use as the action attribute on any <form> element. This is replaced with the real submission endpoint at deploy time. Forms without this placeholder will not have their submissions captured.
  • Slug rules: Slugs must be lowercase and may contain hyphens. If the requested slug is already taken, the deploy will fail with an error.
  • Free plan limit: Free accounts can have up to 5 active deployments at a time. Use teardown to delete a deployment and free up a slot.
  • No build step: The HTML is served as-is. There is no bundler, preprocessor, or framework involved. Inline your CSS and JavaScript, or link to external CDNs.

Deploy forms and sites from AI conversations.