Why Claude's "Publish" Button Doesn't Work for Internal Sharing

When you create an artifact in Claude's web UI, there's a Publish button. Clicking it does one thing: creates a publicly accessible URL on `claude.ai/public/artifacts/{uuid}`.

TL;DR
Claude's Publish button creates a public URL. There's no way to restrict it to your company's domain or require authentication. For anything internal — competitive analyses, architecture proposals, financial data — a public URL is a security risk. Gated publishing is the middle ground: permanent URL, company auth required, no Claude seats needed for viewers.

What Claude's Publish button does

When you create an artifact in Claude's web UI, there's a Publish button. Clicking it does one thing: creates a publicly accessible URL on claude.ai/public/artifacts/{uuid}.

On Free, Pro, and Max plans, this URL is fully public. Non-Claude users can view the artifact without signing in. The URL is tied to the artifact — unpublishing is permanent and irreversible, destroying all associated storage.

No company restriction. No domain allow-list. No authentication. Anyone with the link can view it.


The gap: no middle ground between public and org-only

Claude's sharing model has two modes:

Team/Enterprise plans: Artifacts can be shared within the Claude organization. Viewers must have Claude seats on your plan. Your PM, your VP, your sales team — if they don't have Claude seats, they can't view it. At $25–$30/seat/month per viewer, sharing an artifact with 20 non-Claude teammates costs $500–$600/month in new seats.

Free/Pro/Max plans: The URL is fully public. No restriction of any kind.

There is no middle option. There is no "only people with @yourcompany.com emails" setting. There is no domain restriction. There is no one-time password for specific external viewers. The Publish button is binary: public or org-internal (with seats required).


Why this matters

Internal content is internal for a reason.

Architecture proposals contain system design decisions competitors would value. Competitive analyses contain research that shouldn't be public. Financial models contain data that's material and regulated. Client presentations reference relationships that are confidential.

Putting any of this at a publicly accessible URL — even an obscure one — doesn't satisfy security policy, compliance requirements, or basic information hygiene. "Nobody will guess the URL" is not access control. It's a 128-character obfuscation that disappears the moment someone forwards the link.

The Publish button is designed for demos and public sharing. It was never designed for internal distribution of sensitive content.


The second problem: Claude Code doesn't have a Publish button

Claude's Publish button only exists in the claude.ai web interface.

Claude Code — the CLI tool — writes HTML files to disk. It has no built-in publish step. The HTML artifact Claude Code generates is a local file on your machine. There is no button, no command, no native workflow to get it to a URL.

This matters because Claude Code is where most AI-generated HTML comes from. Engineers generating architecture diagrams, competitive analyses, and visual reports use Claude Code, not the web UI. For this entire workflow, the Publish button is irrelevant — it doesn't exist in the tool they're using.

The same applies to Cursor, Windsurf, and Codex. Every AI coding agent that writes HTML to disk has no native path to an authenticated URL.


The workarounds people use (and why they fail)

Screenshot + Slack: Loses all interactivity. Charts freeze. Tabs disappear. The artifact is degraded permanently.

Download + email: HTML attachments are blocked by most corporate email security policies. Even when they arrive, opening locally breaks relative paths and network-dependent JS.

Share via Claude org: Works only if every viewer has a Claude seat. At $25–$30/seat/month per viewer, this is prohibitively expensive for wide distribution.

Tell the viewer to sign up for Claude: Adds friction and cost. Most stakeholders who need to see an artifact — PMs, VPs, legal, sales — shouldn't need an AI coding tool subscription to view a report.


The actual solution: publish outside Claude to a gated URL

For Claude Code users (CLI workflow):

claude code "Generate an interactive architecture diagram as HTML"
 
dsp publish ./architecture.html
 

Viewers click the link, authenticate with their company Google or Microsoft email, and see the full interactive page. One time. Five seconds.

For Claude Desktop users (no terminal):

Configure the Display MCP server once. Then, in any Claude conversation, say: "Publish this to my team." Claude calls the MCP publish tool and returns a company-gated URL in the conversation.

No terminal. No file download. No configuration after initial setup.


What Display adds that Claude's Publish button doesn't

FeatureClaude PublishDisplay
Restrict to company domain
Works for non-Claude users❌ (Team/Enterprise)
Stable persistent URL⚠️ (tied to artifact, can't update)
Works from Claude Code (CLI)
Works from Cursor / Windsurf / Codex
Viewer analytics
One-time password for external viewers
Custom domain✅ (Teams+)
PriceIncluded in plan$49/month flat

Claude creates the artifact. Display is where you publish it for the company. These tools are complementary, not competing. Claude is an upstream creator. Display is the downstream distribution layer.


Publish your first Claude artifact behind company auth — free →


FAQ

Does Anthropic plan to add company-restricted sharing?+

Not publicly announced. Anthropic's sharing model is designed around Claude's product surface — sharing within Claude organizations. Building an identity-aware, multi-IdP distribution layer for arbitrary HTML files is a different product from an AI assistant. The Publish button will likely improve for Claude-internal sharing; it's unlikely to become a general-purpose gated publishing solution.

What if I'm on Claude Team — can't I just share within the org?+

You can — if every viewer has a Claude Team seat. If any of your stakeholders (PM, VP, legal, sales, design) don't have seats, they can't view the artifact. For engineering-only audiences where everyone is on Claude Team, org sharing works. For cross-functional distribution, it doesn't.

Do I need to be a Claude user to use Display?+

No. Display works with any HTML file from any source — Claude Code, Cursor, Windsurf, a CI pipeline, a data export, a manual build. You don't need a Claude subscription.

Can I publish from Claude Code (CLI), not just Claude chat?+

Yes. The dsp publish CLI command publishes any local HTML or Markdown file. Install the CLI, authenticate once, run dsp publish ./file.html. Claude Code, Cursor, and Windsurf all write HTML to disk — the CLI works with all of them.

Publish your first artifact in 15 seconds.

Free tier. No credit card. One-time password auth for viewers on free, Google + Microsoft SSO on Teams ($49/month flat).

Get started free →See pricing