Tech.euDisplay.dev raises €470K to power document collaboration for AI agentsDisplay.dev raises €470KRead coverage

From Claude Code to Team URL in 15 Seconds

Claude Code writes a self-contained HTML file to disk: an architecture proposal, a competitive analysis, a dashboard, a research dossier. The file renders perfectly on your machine. Then it's stuck there. Emailing it dow

From Claude Code to Team URL in 15 Seconds
TL;DR
Install the CLI, run `dsp login` once, then `dsp publish ./your-file.html`. Claude Code output goes from your local disk to a company-gated URL in about 15 seconds. Viewers open it with the Google or Microsoft account they already use for work. No GitHub account, no zip file, no per-seat fee.

Claude Code writes a self-contained HTML file to disk: an architecture proposal, a competitive analysis, a dashboard, a research dossier. The file renders perfectly on your machine. Then it's stuck there. Emailing it downloads raw markup, pasting it into Confluence strips the JavaScript, and screenshotting it throws away every interaction. This guide turns that local file into a URL your whole company can open, and keeps the URL the same every time Claude updates the file.

More than half of professional developers now use AI coding tools daily (Stack Overflow 2025 Developer Survey), so the volume of agent-generated HTML sitting in local directories is already large. Sharing it is the bottleneck, not making it.


Prerequisites


Three commands

1. Install the CLI

npm install -g @displaydev/cli

2. Authenticate

dsp login

3. Publish

dsp publish ./your-file.html

That's the URL, and it never changes. Paste it in Slack, Notion, Jira, or email. The link keeps working because the artifact stays at that address until you delete it.


The full Claude Code workflow

 
dsp publish ./architecture-proposal.html
 

Total: about 15 seconds after Claude finishes generating.

dsp publish takes a single file. If your artifact pulls in external CSS, JS, or images, ask Claude Code to inline them into one self-contained HTML file before you publish:

dsp publish ./report.html

If the artifact is a directory (a multi-file site with its own assets), publish the folder instead and display.dev serves the whole tree:

dsp publish ./dossier/ --name "q3-research"

Updating in place: same URL, new version

When Claude Code revises the artifact, you don't want a new link. Publish back to the same artifact ID so the URL stays put and bookmarks don't break:

BASE_VERSION=$(dsp get 8f3kx9 | jq -r .currentVersion)
dsp publish ./architecture-proposal.html --id 8f3kx9 --base-version "$BASE_VERSION"

--base-version tells display.dev which version you edited from, so a teammate's newer publish can't be overwritten silently. Every update keeps a version in history: 10 versions on Solo, 50 on Pro. The link always shows the current version at the same URL.


What your teammates see

They click the link and a sign-in page appears. They authenticate with their company Google or Microsoft account, the same one they use for everything else. On Pro that's one click via SSO; on the Free plan they get a one-time passcode (a six-digit code by email). Either way it takes seconds, once.

Then they see the full interactive artifact: charts, animations, tabs, hover states, everything Claude Code built. No app to install, no account to create, no IT ticket. If their email matches your company domain, they're in. If it doesn't, they're not.


For PMs and non-technical teammates (MCP)

If you don't have a terminal, use the MCP integration. Configure the display.dev MCP server in Claude Desktop once (takes about 5 minutes, setup guide here). The Model Context Protocol is the open standard Claude Desktop uses to call external tools, and display.dev exposes publish as one of those tools. After that:

  1. Open Claude Desktop
  2. Create whatever you're creating
  3. Say: "Publish this to my team"
  4. Claude returns a company-gated URL in the conversation

No file system, no terminal, no configuration beyond the initial setup. The MCP path is exact parity with the CLI: same artifacts, same gating, same URLs.


Which sharing path fits

You want to…UseResult
Publish a single HTML file from the terminaldsp publish ./file.htmlCompany-gated URL in ~15s
Publish a whole directorydsp publish ./dir/ --name "x"One URL serving the tree
Update an existing artifactdsp publish --id <shortId> --base-version <v>Same URL, new version
Publish without a terminaldisplay.dev MCP in Claude Desktop"Publish this to my team"
Drag-and-drop in the browserWeb upload at app.display.devSame gated URL

What it costs

Free: One-time passcode authentication for viewers (a six-digit code by email). 10 gated artifacts, unlimited public artifacts, unlimited viewers. Good for occasional sharing or evaluating the product.

Solo (€15/month): Unlimited gated artifacts, 1GB storage, 10-version history. For individuals sharing a lot of agent output, without company SSO.

Pro (€49/month flat): One-click Google Workspace and Microsoft 365 SSO, private artifacts, 50-version history, viewer stats, and 90-day audit logs. Unlimited viewers, no per-seat fee.

The CLI doesn't care what generated the file. Codex, Cursor, shell scripts, and CI pipelines all publish the same way.


FAQ

Does the viewer need a Claude or display.dev account?+

No. Viewers open the link with the Google or Microsoft account they already use at work. On the Free plan they verify with a one-time passcode by email instead. Nobody needs a Claude seat to view an artifact.

Will the interactive parts survive publishing?+

Yes. display.dev serves the full HTML file including all inlined JavaScript and CSS. D3 charts, animations, tabs, and event handlers all run exactly as they did locally. Nothing is flattened to an image.

What if Claude Code split the output across several files?+

Publish the directory: dsp publish ./dir/ --name "report". display.dev serves the whole tree, so relative links between pages and local assets resolve correctly. Or ask Claude Code to inline everything into one self-contained file first.

Can I keep the same URL when I republish?+

Yes. Pass --id <shortId> and --base-version to update the existing artifact. The URL never changes; the content does. Publishing without --id creates a new artifact with a new URL.

Does this work outside Claude Code?+

Yes. dsp publish takes any HTML or Markdown file on disk, regardless of what wrote it: Cursor, Codex, a shell script, or a CI job. See publishing HTML from GitHub Actions.

Publish your first artifact in 15 seconds.

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

Get started free →See pricing