Claude Code can now publish native Artifacts.
That changes an important part of the “AI generated HTML → shareable URL” workflow.
The honest question is no longer:
How can Claude output become a URL?
It is:
Should this output stay a Claude Artifact, or should it become an independent static preview?
Both are useful. They solve different jobs.
Use a native Claude Artifact when
A native Artifact is a strong fit when:
- Claude is generating one self-contained HTML or Markdown page
- the page belongs to the current Claude session
- you want the Artifact to update as the session continues
- the sharing controls available to your plan or organization fit the audience
- the page works within Claude’s documented Content Security Policy and size constraints
This is the shortest route when the thing you want to share is naturally a Claude-session artifact.
You do not need to export and redeploy every page just because another hosting workflow exists.
Use an independent preview URL when
An independent static preview is a better fit when:
- the HTML file already exists on disk
- the page references local CSS, images, JavaScript, or fonts
- the output is a folder or ZIP, not one self-contained page
- Claude generated a React/Vue/Vite project that must be built first
- an MCP tool or CLI should deploy the build and return the URL
- the review link should be independent from the Claude session
The unit of deployment is different.
A native Artifact starts from the Claude session.
An independent preview starts from a browser-ready artifact:
report.html
index.html + assets/
dist/
build/
out/
The constraints are part of the decision
Claude’s official documentation describes native Artifacts as a single page with a strict CSP.
That is a useful safety boundary.
It also means you should check:
- whether the page loads external scripts, fonts, images, or APIs
- whether it needs a backend
- whether it has multiple routes
- whether the rendered page exceeds the documented size limit
- whether connector-backed data can be shared with the intended audience
If those constraints fit, native Artifacts are convenient.
If the output is a normal static site or framework build, an independent static preview is usually a more natural representation.
A practical decision table
| Output | Recommended path |
|---|---|
| One self-contained page created in the session | Native Claude Artifact |
A local /home/claude/repo/index.html
|
Upload/deploy the file |
index.html plus local assets |
Deploy the static folder or ZIP |
| React/Vue/Vite source | Build first, deploy dist/build
|
| Backend application | Production application platform |
| Agent must deploy and return a URL | MCP or CLI preview workflow |
Prompt Claude for the complete workflow
If you want Claude Code to own the independent preview step, avoid a vague “deploy it” prompt.
Use something testable:
Run the production build, identify the browser-ready output folder,
deploy that output with PreviewShip, open the returned URL to verify it,
and include the live link in your final response.
That prompt encodes four important behaviors:
- build source code
- select the correct artifact
- deploy it
- verify the result
The URL alone is not proof that the page works.
Where PreviewShip fits
PreviewShip is for the independent-preview side of this decision.
It publishes:
- one HTML file
- pasted HTML
- Markdown or PDF
- a ZIP/static folder
- framework build output
It also has CLI, MCP, VS Code, and Cursor paths so the deploy can happen inside a development workflow.
The updated guide includes the native Artifact comparison and constraints:
The useful takeaway is not that one option replaces the other.
It is that sharing works best when the hosting surface matches the shape of the artifact.
Top comments (0)