To deploy a website from Claude Code means having Claude Code upload the files it built to a host and hand you back a public HTTPS link, without you opening a dashboard. On deed.page that is one curl request with no account, and the Free plan holds 25 sites of up to 25 MB each (pricing).
Claude Code writes and edits files in your project folder, but it does not host them. Most guides send you through a GitHub repo, a hosting account, or a browser sign-in first. The steps below skip all three. Every command was run against production on November 12, 2026 with a 15-minute expiry, and the test sites were then deleted.
How do I deploy a website from Claude Code?
Ask Claude Code to build the site, then to publish it with the line below. Claude Code has a shell, so it can run the command itself and read the link from the reply.
curl -T index.html "https://deed.page/v1/sites?slug=portfolio-cc-m3t8&ref=blog"
The reply had "url": "https://portfolio-cc-m3t8.deed.page/", "version": "v1", and a deed_tok_… owner token shown once. Pick your own suffix; that slug is only an example, and a slug someone else owns returns 409 slug_taken with a free suggestion (choosing a slug). There is no sign-up, no claim link, and no default expiry; the site stays up until its owner deletes it.
A built folder (Vite, Astro, plain HTML with assets)
Most Claude Code projects end up as a dist/ or out/ folder. Pack it with tar -C so index.html sits at the root, then send it with the token from the first publish:
tar -C dist -czf site.tar.gz .
curl -T site.tar.gz -H "Authorization: Bearer $DEEDPAGE_TOKEN" \
"https://deed.page/v1/sites?slug=portfolio-cc-m3t8&ref=blog"
In our test that returned "version": "v2" at the same URL, and /assets/app.css served as text/css. Sending the same tarball again returned "unchanged": true without creating a new version. Sites with server code (API routes, server rendering) need a host that runs a server; deed.page serves static files only. Bigger builds go up in parts (large sites).
Deploy from Claude Code with MCP instead
If you would rather Claude Code call a tool than a shell command, add the deed.page MCP server once (Claude Code MCP docs):
claude mcp add --transport http deed-page https://deed.page/mcp
With --scope project, the command wrote a .mcp.json entry of type http. claude mcp list then showed the server as "Pending approval" until you run claude in the folder and approve it, which is how Claude Code treats every project-scoped server. There is no sign-in step on the deed.page side. The tool call Claude Code sends looks like this:
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"portfolio-cc-mcp-m3t8","files":{"index.html":"<!doctype html><title>Portfolio</title><h1>Portfolio from Claude Code</h1>"}}}}
It returned ok: true, version: "v1", the subdomain URL, and a token. Passing that token to update_site gave v2 at the same address. The MCP walkthrough lists the other tools.
Make it the project's way to deploy
Claude Code reads CLAUDE.md at the start of every session (memory docs), so one line there stops each new session from searching for a host again:
Deploy: tar -C dist -czf site.tar.gz . then curl -T site.tar.gz with
Authorization: Bearer $(cat ~/.deedpage-token) to
https://deed.page/v1/sites?slug=<our-slug>. Tell me the url from the reply.
For a one-keystroke version, a file at .claude/commands/deploy.md creates a /deploy command (skills docs). Claude Code asks before it runs a new shell command; choosing "Yes, and don't ask again" saves an allow rule in .claude/settings.local.json (settings docs).
Keep the token in a file with chmod 600 and out of git, not in CLAUDE.md itself (token hygiene). deed.page stores only its SHA-256 (trust).
FAQ
Does Claude Code need an account to deploy?
Not on deed.page. The first publish mints an owner token, and that token is the only credential. Some hosts in Claude Code guides, such as Ginta and ProductEcho, ask you to sign in through a browser first.
Can I use my own domain?
Yes. Free includes one custom domain over the API, Hobby three, Pro twenty (custom domains). Claude Code can add it, but you still create the DNS records.
Will the site disappear if nobody visits it?
No. Sites do not expire unless you send X-Ttl for a throwaway page (TTLs). Free sites show a small "Published with deed.page" link; Hobby at $3 a month removes it.