How to Share Claude Code Artifacts With Your Whole Team
Claude Code (the CLI) writes HTML files to disk. It has no built-in publish step. After generating an architecture diagram, a visual report, or an interactive presentation, you have a local file: `./output.html`. You're
The problem with Claude Code artifact sharing
Claude Code (the CLI) writes HTML files to disk. It has no built-in publish step. After generating an architecture diagram, a visual report, or an interactive presentation, you have a local file: ./output.html. You're on your own from here.
The claude.ai web UI has a Publish button, but:
- It's only in the web UI — not in the CLI, which is where most engineers work.
- It creates a public URL with no company restriction.
- Claude Code artifacts and Claude web artifacts are different things. Exporting a Claude Code output to the web UI for publishing is an extra step, not a workflow.
The result: every Claude Code session that produces an HTML artifact creates a new instance of the same unsolved problem. Build something great. Need to share it. Have no good path.
Here are all your options, honest about what works and what doesn't.
Option 1 — Screenshot
How it works: Take a screenshot of the rendered HTML page. Share the image in Slack.
Who it works for: Sharing a quick visual when interactivity genuinely doesn't matter — a static mockup, a color palette, a basic diagram.
Who it doesn't work for: Anyone sharing interactive content. Charts, sortable tables, animated diagrams, tabs, collapsible sections — all of it disappears. The screenshot is a JPEG of an application. It looks like you shared something. It isn't.
Verdict: Don't. Unless the artifact is purely decorative and you're certain the static version is sufficient. Even then, you lose the ability to update and re-share via the same URL.
Option 2 — Share via Claude Team/Enterprise
How it works: On Claude's Team or Enterprise plan, you can share artifacts with members of your Claude organization. Members click the link and view the artifact in Claude's interface.
Who it works for: Teams where every person who needs to view the artifact has a Claude Team or Enterprise seat.
Who it doesn't work for: Anyone sharing with PMs, VPs, legal, sales, or designers who don't have Claude seats. At $25–$30/seat/month, adding 20 non-technical stakeholders as viewers costs $500–$600/month in new seats — for people who only need to view content, not use Claude.
Additional constraint: This doesn't work for Claude Code (CLI) output. Claude Team sharing is for artifacts created in the claude.ai web UI, not for HTML files generated by the CLI.
Verdict: Works for engineering-only audiences on Claude Team. Fails for cross-functional sharing and for CLI-generated output.
Option 3 — GitHub Pages
How it works: Push the HTML file to a gh-pages branch in a GitHub repo. Configure GitHub Pages for that repo. Get a public or private URL.
Who it works for:
- Public repos: anyone can view, no auth required. Fine for open source output.
- Private repos: viewers need GitHub accounts + your team needs GitHub Enterprise Cloud.
Who it doesn't work for: Any non-engineer stakeholder. Your PM doesn't have a GitHub account. Your VP of Sales doesn't have a GitHub account. Getting them on GitHub and configured for private repo access requires an Enterprise Cloud seat at $21/user/month per viewer — $2,100/month for 100 viewers.
Setup time: 5–30 minutes for the first artifact, depending on whether the repo and Pages config already exist.
Verdict: Engineering-only audiences on public repos or Enterprise Cloud. Not useful for cross-functional sharing.
Option 4 — Deploy to Vercel or Netlify
How it works: Create a project, connect a git repository, push your HTML, deploy.
Important constraint: Vercel and Netlify require a git-connected project structure. You cannot upload a single HTML file. Every artifact needs its own repo or a specific folder in a shared repo — creating overhead that doesn't exist in the "one file" publish model.
Costs for auth:
- Vercel password protection: $150/month add-on on Pro. Shared password — not identity-aware.
- Vercel SSO: $300/month add-on on Pro. Identity-aware, but $300/month per project.
- Netlify SSO: Enterprise-only.
Who it works for: Teams already using Vercel for app deployment, wanting basic password protection on preview deployments they've already built.
Who it doesn't work for: Teams trying to publish ad-hoc HTML files without building a deployment pipeline. Teams who want SSO without Enterprise pricing. Non-technical publishers.
Verdict: Overkill for publishing HTML files. Appropriate for application deployment with auth bolted on.
Option 5 — Gated publishing with Display ✓ (recommended)
This is the direct solution to the problem.
Install once:
npm install -g @display-dev/cli
brew install display-dev/tap/displayAuthenticate once:
display loginPublish every time — 15 seconds:
dsp publish ./output.htmlPaste that URL in Slack, Notion, Jira, or email. Your teammates click it, authenticate with their company Google or Microsoft email once (five seconds), and see the full interactive artifact — charts, animations, tabs, everything exactly as you built it.
No accounts for viewers to create. No GitHub. No enterprise contract. No IT ticket.
For non-technical teammates (PMs, analysts, executives):
Configure Claude Desktop MCP once. After that, in any Claude conversation, they say: "Publish this to my team." Claude calls the Display MCP tool, gets back a company-gated URL, and returns it in the conversation. No terminal. No file system. No configuration after initial setup.
Cost:
- Free tier: one-time password authentication. Viewers receive a one-time login link via email. Works fine for occasional sharing.
- Teams ($49/month): Google Workspace and Microsoft 365 SSO — one click, no email check needed. Most teams upgrade within two weeks once they've used the free tier.
The comparison
| Option | Works for non-engineers | Company auth | Interactivity | Time to share | Cost |
|---|---|---|---|---|---|
| Screenshot | ✅ (but degraded) | — | ❌ | 10 sec | $0 |
| Claude org share | ❌ (needs Claude seats) | ✅ | ✅ | 5 sec | $25+/seat/mo |
| GitHub Pages | ❌ | ❌ (or $2,100/mo) | ✅ | 5–30 min | $0/$2,100/mo |
| Vercel + SSO | ❌ (requires git project) | ✅ | ✅ | 20+ min | $320+/mo |
| Display | ✅ | ✅ | ✅ | 15 sec | $49/mo flat |
Setting up Display for your team (5 minutes)
Step 1: Install the CLI
npm install -g @display-dev/cliStep 2: Create your workspace
Go to Display, create an account, and set your company domain (e.g., acme.com). Anyone authenticating with an @acme.com email gets access.
Step 3: Authenticate the CLI
display loginStep 4: Publish your first artifact
dsp publish ./your-artifact.htmlStep 5: Share the URL Paste it anywhere. The URL is permanent and works forever.
For the team: Share your workspace invite link. Teammates install the CLI, run display login, and can publish immediately. The whole team shares one workspace and one billing seat.
For MCP (non-technical users): See the MCP setup guide for Claude Desktop configuration.
FAQ
Does this work for artifacts made with Cursor or Windsurf, not just Claude Code?
Yes. Display works with any HTML file on disk. It doesn't matter whether Claude Code, Cursor, Windsurf, Codex, or a CI pipeline generated it. dsp publish ./file.html publishes any file.
What if the HTML file has external dependencies?
Self-contained HTML files (all CSS and JS inlined) work with zero configuration. For HTML files with relative asset references (separate CSS files, JS bundles, images), publish the directory: dsp publish ./output/ — Display serves the whole directory at a single URL.
Can the viewer download the HTML file?
No. Viewers see the rendered page in their browser. The underlying source file is not exposed for download.
What counts as a "company email" — how does the domain restriction work?
You configure allowed domains when you create your workspace (e.g., acme.com). Anyone authenticating with an @acme.com Google or Microsoft account gets access. You can add multiple domains (for contractors, subsidiaries) or grant access to individual external emails.
How does the MCP version work for non-technical users?
Claude Desktop can call external tools via MCP (Model Context Protocol). When Display's MCP server is configured, Claude has a publish tool. Non-technical users say "publish this to my team" in Claude Desktop, and Claude calls the tool — no terminal, no file management required. Setup guide: Claude Desktop MCP setup.
Free tier. No credit card. One-time password auth for viewers on free, Google + Microsoft SSO on Teams ($49/month flat).