deploy
Deploy HTML to a live URL. Returns a public URL accessible immediately.
Annotations
| Annotation | Value |
|---|---|
readOnlyHint | false |
destructiveHint | false |
idempotentHint | false |
openWorldHint | true |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
html | string | Yes | The full HTML content to deploy |
slug | string | No | URL 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-waitlistExample
User prompt:
Deploy a waitlist page for my app called Acme at acme-waitlist
What Claude does:
- Calls use_template with
template: "waitlist"to fetch the base HTML. - Customizes the HTML with "Acme" branding.
- Calls
deploywith the modified HTML andslug: "acme-waitlist". - Returns the live URL
https://acme-waitlist.invoker.page.
Notes
- Form action placeholder: Use
as theactionattribute 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.