Blog

/Guides

How to build and publish a website in Claude

Ask Claude to build a website and publish it to a real link from the same chat: turn on network access, send one prompt, approve once. A real run, step by step, with screenshots.

A chat bubble asking Claude to build a one-page website for a bakery in Lisbon and publish it with host0, a dashed arrow labelled ~6 min from prompt to live link, and a browser window at morning-loaf.host0.app showing the Morning Loaf bakery page headed 'Baked before the city wakes.', annotated with three steps: 01 Turn on network access, 02 Ask Claude to build and publish, 03 Approve once, get a link, above the title 'How to build and publish a website in Claude'.
On this page

To build and publish a website in Claude, turn on code execution and network access in Claude's settings, then ask Claude to build the site and publish it with host0 in the same message, and approve one sign-in when it asks. Claude writes the page, uploads it and replies with a real link, like morning-loaf.host0.app, that anyone can open in a browser without a Claude account. In our test it took about six minutes from prompt to live link, and a minute or two of that was us signing in.

Claude has been able to make a web page for a while. The hard part is the step after: getting it onto an address you can text to someone, keeping a form's entries somewhere, and changing it next week without starting over. Since 16 September 2026 that step got harder inside Claude itself, because Anthropic's help center now says people need a Claude account to open a newly shared artifact. This guide walks through a real run in claude.ai, from settings to a live bakery site with a reservation form, with a screenshot of every step.

The short version

  1. 1
    Two settings, one prompt, one approval. Turn on code execution and network egress in Settings → Capabilities, end your prompt with "publish it with host0: follow https://host0.ai/skill.md", and approve the sign-in link Claude shows you. You don't need to install anything first.
  2. 2
    Nothing private goes into the chat. You sign in to host0 in your own browser with Google or an email code, and Claude gets access from there. You never paste an API key or your email address.
  3. 3
    Anyone can open the link, no Claude account needed. New links start private. Ask for "a link anyone can open" and it's unlisted and kept out of search engines; or keep it private and invite people by email.
  4. 4
    Forms can save to a shared database. Our reservation form writes to a reservations collection that only the owner can read, and the owner can export it as JSON from the dashboard.
  5. 5
    You change it by asking. "Rename the link to morning-loaf and change Sunday hours" took Claude about a minute and a half. It published version 2, the old link forwards for 30 days, and you can roll back to version 1.
  6. 6
    It's free during the beta. Every page carries a small "Hosted on host0" badge in the corner.

How to build and publish a website in Claude, step by step#

We used claude.ai on the web with Claude Opus 5.5, in a fresh chat, and asked for a one-page site for an imaginary Lisbon bakery called Morning Loaf, with a menu, opening hours, a map link and a "reserve a loaf for tomorrow" form.

Step 1: Turn on code execution and network access#

Claude needs two things to publish a site: a place to run code, and permission to reach the internet from it. Both live in Settings → Capabilities on claude.ai.

  • Cloud code execution and file creation must be on. It usually already is: Anthropic says it's available on every plan, Free included, and the same setting is needed for artifacts and skills.
  • Allow network egress must be on, and Claude must be able to reach host0.ai and host0.app. Without it, Claude can build the page but can't upload it.

The account we used shows a Domain allowlist menu under the egress switch, set to All domains. If your menu lets you list domains instead, add host0.ai and host0.app. On Team and Enterprise plans an owner controls this in Organization settings → Capabilities: Anthropic says Team plans start with egress limited to "package managers only", and new Enterprise organizations start with it off, so you may need to ask your admin.

Settings → Capabilities in claude.ai

The claude.ai Settings window with Capabilities selected in the sidebar. Under “Code execution and file creation”, the switch “Cloud code execution and file creation” is on, with the note “Required for skills”, and “Allow network egress” is on. Below it, a “Domain allowlist” box reads “Choose which domains the sandbox can access”, set to “All domains”, with the note “Claude can access all domains on the internet.”

Both switches on. The Domain allowlist here is “All domains”; listing host0.ai and host0.app also works.

Source: claude.ai, 11 Oct 2026

Step 2: Ask Claude to build the site and publish it#

Start a new chat and describe the site, then tell Claude to publish it with host0 and point it at the instructions. You don't have to install the host0 skill first: Claude opens the link in your prompt and follows it. This is the exact prompt we sent:

Prompt
Build a one-page website for a small neighbourhood bakery in Lisbon called "Morning Loaf": a hero with the tagline, today's bread menu with prices in euros, opening hours, the address with a map link, and a "Reserve a loaf for tomorrow" form (name, loaf, pickup time). Make it warm, modern and good on a phone. Then publish it with host0 so I get a real link: follow https://host0.ai/skill.md. Save the form's reservations in host0's shared database, and make the link open for anyone who has it.

The prompt

The claude.ai message box containing the Morning Loaf prompt, ending with “Then publish it with host0 so I get a real link: follow https://host0.ai/skill.md. Save the form's reservations in host0's shared database, and make the link open for anyone who has it.”

One message: what to build, then where to publish it, where the form's entries go and who can open the link.

Source: claude.ai, 11 Oct 2026

To write your own, keep the same shape:

  • What it is and who it's for: "a one-page site for my dog-walking business in Leeds".
  • The sections: hero, prices, opening hours, a contact form, an FAQ.
  • The feel: "warm, modern and good on a phone" is enough; name colours if you have them.
  • Real details, if you have them: your address, prices and hours. Otherwise Claude invents placeholders, which is fine for a first draft.
  • The publish line: "Then publish it with host0 so I get a real link: follow https://host0.ai/skill.md."
  • If there's a form: say what to save and who can see it, like "save the sign-ups in host0's shared database; only I can read them".
  • Who can open it: "make the link open for anyone who has it". Leave this out and the link stays private, so only you (and anyone you invite) can open it.

Claude then worked on its own for a few minutes. It read the instructions and wrote two files: the page itself, index.html, and h0.json, a short file that declares the reservations collection and who can do what with it.

Step 3: Approve the sign-in once#

Publishing needs a host0 account, and Claude can't create one for you. So before uploading, it stopped and showed a link and a code:

Claude asks you to approve once

Claude's reply: “Created 2 files, read a page, ran 3 commands”, then “The site is built — host0 needs you to approve this session once: Open host0 sign-in and check the page shows the code LXMW-KBZN, then approve. It expires in 10 minutes. I'm waiting on it and will publish as soon as you approve.” Below, a “Running a command” line shows Claude waiting.

Claude had already built the site. The code must match the one on the page that opens; the link expires in 10 minutes.

Source: claude.ai, 11 Oct 2026

Click the link. It opens host0 in your own browser. Sign in with Continue with Google, or type your email and enter the 6-digit code host0 emails you. If you're new, the code creates your account; there's no password. Then check that the page shows the same code Claude did and click Approve.

Sign in to host0 in your own browser

The host0 sign-in page: “Get started with host0 — Sign in or create your account — it's the same step. Free during the beta.”, a “Continue with Google” button, an email field with an “Email me a code” button, and the note “No password needed. New here? The code creates your account.”

Google or an email code. Signing in and signing up are the same step.

Source: host0.ai, 11 Oct 2026

That's the only thing you do by hand. Claude is waiting for the approval and picks it up by itself. You never type an API key or your email address into the chat. Later changes in the same chat didn't ask us to approve again.

About six minutes after we sent the prompt, Claude replied with the live link:

The site is live

Claude's reply: “Morning Loaf is live at https://z8o10y8g9s.host0.app/ (version 1). Anyone with the link can open it without signing in. It's unlisted and won't show up in search engines, but it isn't secret.” A list follows: a warm cream and crust colour scheme built for phones first, a live “Open now / Closed” pill based on Lisbon time, six breads with euro prices, opening hours with today highlighted, the address with an “Open in Maps” button, and a reservation form with a tap-to-pick time slot for tomorrow, where slots outside tomorrow's opening hours are greyed out.

Version 1, at a random address. Claude also said who can open it and what that means.

Source: claude.ai, 11 Oct 2026

Claude went a little past the brief. It added a live "Open now / Closed" badge that works on Lisbon time wherever the visitor is, highlighted today's row in the opening hours, and turned the pickup time into a grid of buttons that greys out slots when the bakery is closed. It also told us that the address (Rua da Rosa 148, in Bairro Alto), the six breads, their prices and the hours were placeholders it had made up, which is worth checking for on your own site before you share it.

Morning Loaf on a laptop

The Morning Loaf site in a desktop browser: a cream page with the logo and the links “Today's bread”, “Visit” and “Reserve”; a “Closed now · Lisbon” pill; the heading “Baked before the city wakes.”; the line “A small neighbourhood bakery in Lisbon. Slow-fermented loaves, flour from Alentejo, and the smell of warm crust from 6 a.m.”; “Reserve a loaf for tomorrow” and “See today's bread” buttons; an illustrated loaf; and below, “Today's bread” with cards for Sourdough clássico at 4,80 €, Pão alentejano at 3,90 € and Broa de milho at 3,20 €. A small “Hosted on host0” badge sits in the bottom-right corner.

The tagline Claude wrote, “Baked before the city wakes.”, and the first three of six breads, with prices in euros.

Source: morning-loaf.host0.app, 11 Oct 2026

We'd asked for "good on a phone", and it is: the loaf moves above the headline, the buttons go full width, and the time slots are big enough to tap.

And on a phone

Morning Loaf on a phone: the logo and a Reserve button, the illustrated loaf, the “Closed now · Lisbon” pill, the heading “Baked before the city wakes.” and a full-width “Reserve a loaf for tomorrow” button, with the “Hosted on host0” badge in the corner.

The reservation form on a phone: “Reserve a loaf for tomorrow”, a “Pickup: Monday 12 October” tag, a “Your name” field with the placeholder “e.g. Inês”, a “Loaf” dropdown and a grid of pickup time buttons from 07:30 to 13:00.

The top of the page, and the reservation form with tomorrow's date and tap-to-pick pickup times.

Source: morning-loaf.host0.app, 11 Oct 2026

Then we filled in the form as a customer would: Inês, a Sourdough clássico, Monday 12 October at 08:30.

A reservation, saved

The reservation section after submitting: “It's yours. A Sourdough clássico will be waiting for Inês on Monday 12 October at 08:30. Pay at the counter.” with a “Reserve another” button.

The form writes to the site's shared database on the same address. No server code was written for it.

Source: morning-loaf.host0.app, 11 Oct 2026; test data

Step 5: Change it by asking#

A random address like z8o10y8g9s.host0.app is fine for a first look, but not for a sign in the shop window. So we asked for a readable name and a change to the opening hours, in the same chat:

Prompt
Looks great. Rename the link to morning-loaf, and change Sunday hours to 8:00–13:00.

About a minute and a half later:

Rename and edit in one message

The follow-up message “Looks great. Rename the link to morning-loaf, and change Sunday hours to 8:00–13:00.” and Claude's reply: “Both changes are done, and the site is now at https://morning-loaf.host0.app/ (version 2).” with three points: Sunday hours are now 8:00–13:00 and a Sunday pickup only offers the 8:00–12:00 slots; the old link (z8o10y8g9s.host0.app) forwards to the new one for 30 days; reservations and the “anyone with the link” setting carried over unchanged. It ends: “If you want to undo the hours change, say ‘roll back’ and I'll put version 1 back.”

Version 2 is live at the new name. The old address forwards for 30 days, and Claude offers to roll back.

Source: claude.ai, 11 Oct 2026

Three things happened there that you'd otherwise have to handle yourself:

  • The address changed without breaking the old one. Anyone you'd already sent z8o10y8g9s.host0.app to is forwarded to morning-loaf.host0.app for 30 days.
  • The edit became a new version. Every publish is numbered, so "roll back" puts version 1 back as a new version and nothing is lost. host0 keeps the last 20 (how versions work).
  • The data stayed put. Inês's reservation and the "anyone with the link" setting carried over.

The same goes for anything else: "add a gluten-free section", "make it private again", "put the form above the menu". Claude edits the files and publishes the next version to the same link.

Step 6: See your reservations and visitors#

Everything Claude published also lands in your host0 dashboard. Open host0.ai/dashboard and pick the site.

The Data tab lists what the site has saved. Ours had one collection, reservations, with the four fields the form sends, one record, and an Export JSON button. Claude had set it so anyone who can open the site can add a reservation but only the owner can read or change them, and it checked that a signed-out request for the list is refused. That matters: a booking form whose entries anyone could read would leak every customer's name.

The Data tab

The Morning Loaf dashboard page at morning-loaf.host0.app, set to “Anyone with the link”, on the Data tab. A “Shared data” table shows the collection “reservations” with the fields loaf, name, pickup_date and pickup_time, “Add: anyone with access · Edit: only you”, 1 record, latest Oct 11, 2026, 6:38 PM, and an “Export JSON” button.

Who can write is shown per collection. Export JSON downloads every record.

Source: host0 dashboard, 11 Oct 2026; test data

The Versions tab lists every publish with the note Claude wrote for it, the time, and where it came from. Each one has a Restore option in its menu, if you'd rather click than ask.

The Versions tab

The Versions tab: “Every publish is saved as a version. Restore any of the last 20 — it goes live for everyone within a minute, and your shared data stays as it is.” Version 2, marked Live, “Sunday hours 8:00–13:00 — Oct 11, 2026, 6:36 PM · claude.ai · 2 files · 22.0 KB”, and Version 1, “First version: menu, hours, map, reservations — Oct 11, 2026, 6:33 PM · claude.ai · 2 files · 22.0 KB”, each with a menu button.

Version 1 at 6:33 PM, version 2 three minutes later, both published from claude.ai.

Source: host0 dashboard, 11 Oct 2026

The Analytics tab shows visitors and page views over time, which pages they opened, where they came from, their countries and their devices. It's counted without cookies, and it's on for every site with nothing to set up.

The Analytics tab

The Analytics tab for the last 7 days: 1 visitor and 1 page view, both marked New, a chart from Oct 5 to Oct 11 rising on the last day, a Pages list with “/” at 1 visitor and a Referrers list with “Direct” at 1.

One visitor so far: us, opening the link directly. Pages and referrers fill in as people arrive.

Source: host0 dashboard, 11 Oct 2026

Claude can share what it makes without any other service, and for a page you want a few colleagues to look at, that may be all you need. But the rules changed on 16 September 2026. Anthropic's help center now calls artifacts made in a chat before that date "legacy", and its sharing guide says that for everything newer, "Everyone needs a Claude account. People without one can't open a shared artifact, even with the link." The only exception is a legacy artifact published from a chat. Many of the guides we found for this topic were written before the change and still say viewers don't need an account.

A few details from Anthropic's pages matter if you do share from Claude:

  • Artifacts that use Claude or your connected apps can't use "Anyone with the link", the sharing guide says, and invited people from outside your organization lose the parts that use Claude or connectors.
  • Shared chat attachments go with it. "When you share an artifact made in a chat, viewers also get access to the attachments and files in that chat," per the same page.
  • Storage is real, with limits. Anthropic says artifacts on Pro and up can keep personal or shared data, where "Everyone sees and works with the same data", capped at "20 MB… text only". AI features in a shared artifact run on each viewer's own plan.
  • Unpublishing a legacy artifact is final. You can't publish it again, and unpublishing "permanently deletes any personal and shared storage data the artifact used."
  • No changes from the phone apps. "You can't change sharing settings in Claude for iOS or Claude for Android."

In short: if everyone who needs the page already uses Claude, share the artifact. If it's for customers, clients, family or anyone outside Claude, or it needs its own address, a form that collects entries you can export, or numbers on who opened it, publish it.

Other ways to host a site Claude made#

You can also download the files from Claude and upload them somewhere yourself. These are the common choices, as each one describes itself (checked 11 October 2026):

  • Netlify Drop: drag the folder onto app.netlify.com/drop. If you drop it without signing in, "your project URL is protected with a temporary password until you claim it". Netlify's Claude guide notes that a React artifact has to be scaffolded into a Vite project and built first.
  • GitHub Pages: free for public repositories, so your code is public. GitHub says it isn't for running "your online business" or e-commerce.
  • Vercel: takes a zip, or a design sent straight from Claude Design. The free Hobby plan is "non-commercial, personal use only".
  • Cloudflare Pages: Direct Upload takes "a zip file or single folder of assets" by drag and drop; choose it and you can't switch the project to Git later.
  • tiiny.host: upload a file or zip. The free plan is one site, uploads up to 3 MB and 5,000 visits a month, with a small Tiiny banner.
  • Static.app: paste an artifact's public link into "Import from URL", or upload a zip. There's no free plan: a 7-day trial, then from $5 a month. Since new Claude share links need a Claude account to open, the import is most likely to work with legacy published artifacts.

All of these are solid hosts. The difference is the round trip: you copy files out of Claude, upload them, and come back to Claude for every change. Publishing from the chat skips that, and keeps the form's data, the versions and the visitor numbers in one place.

Troubleshooting#

Claude says it can't reach host0.ai or host0.app. Network egress is off, or the domain isn't allowed. The host0 skill tells Claude to stop and name the domain to allow when every request fails with a connection, proxy or SSL error, rather than retrying forever. Go to Settings → Capabilities, turn on Allow network egress, and choose All domains or add host0.ai and host0.app. On a Team or Enterprise plan, ask an owner. Then say "try again" in the same chat; Claude still has the files. (An occasional single hiccup is normal in Claude's sandbox and is retried automatically.)

Claude made the page but didn't publish it. Check that Cloud code execution and file creation is on, and that your prompt asks Claude to publish it with host0 and includes the https://host0.ai/skill.md link. Then ask: "Now publish it with host0: follow https://host0.ai/skill.md."

The sign-in link expired. The code is valid for 10 minutes. Tell Claude "the link expired, start again"; it shows a new link and a new code.

The code on the host0 page doesn't match. Don't approve it. Approving gives whoever started that sign-in the right to publish to your account. Close the page and ask Claude for a fresh link.

People are asked to sign in when they open the link. The site is private, which is the default when you don't say otherwise. Tell Claude "make the link open for anyone who has it", or change it on the Sharing tab of the dashboard. To let only certain people in, keep it private and invite their emails there.

FAQ#

Can Claude host my website?#

Not at an address of its own. Claude can show and share a page as an artifact on claude.ai, but Anthropic's Claude Code docs describe an artifact as "one self-contained page with no backend" and say: "For a hosted internal tool with a backend, deploy it on your own infrastructure instead." To get a real website, Claude has to publish the files to a host, which it can do from the chat as shown above.

Do people need a Claude account to open my site?#

Not on a host0 link set to "anyone with the link": it's a normal website. For an artifact shared from claude.ai, yes, since 16 September 2026, unless it's a legacy artifact published from a chat, per Anthropic. Artifacts published from Claude Code are an exception: its docs say a public link opens "with no claude.ai sign-in required" (on Team and Enterprise, only once an owner allows it).

Can I do this on Claude's free plan?#

Anthropic says code execution is available on every plan, Free included, and the network egress switch sits in the same settings on Free, Pro and Max. host0 is free during the beta. Whether Free can share a new artifact by link inside Claude is unclear: Anthropic's sharing guide says it can't, while its artifacts page and Docs guide say Free can share with anyone who has the link.

Do I need to install the host0 skill?#

No. Put https://host0.ai/skill.md in your prompt and Claude reads it, as it did in our test. Claude also supports installing skills under Customize → Skills by uploading a ZIP, but you don't need to for this.

Can a website built in Claude save form entries?#

Yes, if the host gives it somewhere to save them. On host0, Claude adds an h0.json file declaring each collection, its fields and who can read, add or change records, and the page saves to its own address. You read and export the records from the dashboard's Data tab (how shared data works). Inside Claude, artifacts on Pro and up have their own storage, which only works on claude.ai.

Can I use my own domain?#

On host0 you can rename the link to something readable, like morning-loaf.host0.app; your own domain isn't available yet. For Claude artifacts, Anthropic's help pages describe no custom-domain option.

Who can see my site?#

New host0 sites are private: only you and the emails you invite. "Anyone with the link" opens it to anyone with the address, unlisted and kept out of search engines, but it can be forwarded, so don't use it for anything sensitive. "Public on the web" lets search engines list it, for a site you want people to find; you turn that on in the dashboard (the three settings).

Can I edit the site later?#

Yes. In the same chat, ask for the change and Claude publishes a new version to the same link. Every version is kept (the last 20), and you can restore any of them from the Versions tab or by asking Claude to roll back.

What does it cost?#

host0 is free during the beta; paid plans may come later, with notice. Sites carry a small "Hosted on host0" badge in the bottom-right corner.

How we tested this#

We ran everything above on 11 October 2026 in claude.ai on the web, in a fresh chat with Claude Opus 5.5, signed in to our own host0 account, and took every screenshot from that run. Morning Loaf is made up, and so are its address, menu, prices and hours (Claude said so itself); the one reservation is test data. Times are from the run: about six minutes from sending the prompt to the live link, including a minute or two to sign in and approve, and about a minute and a half for the rename and edit. Anthropic's rules for artifacts, sharing, storage and network access come from its help center and Claude Code docs, re-read the same day and linked inline; where they don't mention something, we say "none described" rather than guess. The other hosts' details come from their own pages.

host0 exists for this last step: whatever your agent made, a link you can share, with a database that just works. Start from the agents page or paste the prompt above into Claude.

GuidesClaude