Skip to content

deploy ​

Deploy a site to a live URL. Supports single HTML files and multi-file sites. The deploy goes live immediately β€” no preview step, no confirmation required.

Annotations ​

AnnotationValue
readOnlyHintfalse
destructiveHintfalse
openWorldHinttrue

Parameters ​

NameTypeRequiredDescription
htmlstringNo*Full HTML content for single-file deploys
filesarrayNo*Files for multi-file deploys (see below)
slugstringNoURL slug (lowercase, hyphens only). Becomes {slug}.invoker.page. Generated if omitted.
titlestringNoPage title for SEO and browser tab
descriptionstringNoMeta description for SEO and social sharing
faviconstringNoFavicon emoji (e.g. πŸš€). Defaults to ⚑.
is_spabooleanNoSet true for single-page apps with client-side routing. Enables 404β†’index.html fallback.

*Either html or files is required.

files array format ​

Each file entry:

FieldTypeRequiredDescription
pathstringYesFile path relative to site root (e.g. index.html, css/style.css)
contentstringYesFile content (UTF-8 text or base64 for binary files)
contentTypestringYesMIME type (e.g. text/html, text/css, image/png)
encoding"utf-8" | "base64"NoUse "base64" for binary files. Defaults to "utf-8".

Return format ​

Deployed successfully!

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

For anonymous deploys (not logged in):

Deployed successfully!

URL: https://my-site.invoker.page
ID: dep_abc123
Slug: my-site
Expires: 2026-03-02T12:00:00Z (anonymous β€” share claim_url to make permanent)
Claim URL: https://invoker.page/claim/abc123?token=tok_xyz

Single-file Example ​

User prompt:

"Deploy a landing page for my app called Acme at acme-launch"

What Claude does:

  1. Calls list_styles or use_template to get a starting point (or generates custom HTML).
  2. Customizes the HTML with "Acme" branding.
  3. Calls deploy with the HTML and slug: "acme-launch".
  4. Returns: "Your page is live at https://acme-launch.invoker.page"

Multi-file Example ​

User prompt:

"Deploy a site with index.html, about.html, and a shared stylesheet."

What Claude does:

  1. Generates the HTML files and CSS.
  2. Calls deploy with a files array containing all three files.
  3. Returns the live URL.

React / SPA Example ​

User prompt:

"Deploy a React app with client-side routing."

What Claude does:

  1. Generates an HTML file with esm.sh React imports.
  2. Calls deploy with is_spa: true.
  3. All 404 requests fall back to index.html, enabling React Router.

Anonymous Deploy ​

If you're not logged in, deploy still works. The response includes:

  • expires_at β€” the deploy expires after 24 hours
  • claim_url β€” visit this URL after signing in to make the deploy permanent

Notes ​

  • No preview step. Deploys go live immediately.
  • No build step. HTML is served as-is. Use CDN links (Tailwind, Alpine, esm.sh) for frameworks.
  • Slug rules. Slugs must be lowercase and may contain hyphens. If the slug is taken, the deploy fails with a conflict error.
  • html and files are mutually exclusive. Use one or the other per deploy call.
  • is_spa is only needed for apps with client-side routing (React Router, Vue Router, etc.).

Deploy apps from conversation. Vercel for AI agents.