Blog ·
Your Claude artifact link stopped working. Here are your permanent options
Artifact links die for real reasons: retention policies, sharing turned off, expired links. How to give an AI-built app a permanent, controlled home.
You built something useful with Claude, shared the link, and one day it stopped opening. This happens for concrete reasons, and knowing which one hit you matters less than the conclusion: an artifact link is not a place for software people depend on. Anthropic's own documentation describes an artifact as "a capture of work, not an application" (Claude Code docs).
Here is what actually kills artifact links, and what to do when the thing you built needs a permanent home.
Why artifact links die
As of mid-2026, per the Claude Code documentation:
- Retention policies. On Team and Enterprise plans, admins can set how long artifacts are kept before automatic deletion, with separate clocks for private and shared artifacts.
- External sharing can be revoked. Public sharing is off by default for organizations. If an admin turns it off after you shared, access through every existing public link stops at once.
- Older links expired on their own. Links published from earlier Claude Code versions had expiration windows, which is why so many shared dashboards from this spring are dead today.
And even while a link works, an artifact has hard limits by design: it is a single page with no backend, so it cannot store form input, sign viewers in itself, keep data, or serve more than one route. External network requests are blocked entirely.
Your options, honestly compared
| Option | Link permanence | Viewer needs an account? | Access control | Can it be a real app? |
|---|---|---|---|---|
| Claude artifacts | While kept: retention policies and sharing toggles can kill it | No for public links; yes (org account) for org sharing | Private, your org, or fully public. Nothing in between | No: single page, no backend, no stored data |
| ChatGPT Sites (Codex) | Yes | No: public publishing went GA on 9 July 2026 for paid creators | Public or workspace; finer gating is limited | Yes, hosted by OpenAI at their domain |
| HTML upload services (tiiny.host and similar) | Depends on plan | No | Basic (passwords on paid tiers) | No: static files, manual re-upload |
| Developer platforms (Vercel, Netlify, Railway) | Yes | No | You build or configure it | Yes, but you assemble the stack yourself |
| White Ghost | Yes: apps stay live until you take them down | No | Built in: public, a shared invite code, or a sign-in you write into the app | Yes: database, integrations, logs, real updates |
Notes behind that table:
- ChatGPT Sites closed its old "viewers must log in" gap when it went GA for paid subscribers (Stacktree, July 2026). What remains: creation requires a paid plan, hosting lives with OpenAI, and access gating beyond public-or-workspace is limited.
- HTML upload services solve exactly one problem: turning a file into a URL. Useful for a static page; a dead end once your app needs a database, sign-in, or a team.
- Developer platforms are the right choice for engineers shipping production software. The cost is assembly: hosting, database, auth, and permissions are separate pieces you wire together.
The permanent route with White Ghost
White Ghost is built for exactly this situation: something you made with your AI assistant is worth keeping, and it needs a real home. The flow, from a repo you own:
- Install the CLI once:
npm install -g ghosty-cli. ghosty initscaffolds the app as a normal repository in your own GitHub organization.- Keep building with the assistant you already use. Claude Code, Codex, and others drive the CLI directly; every command supports
--json. git pushtriggers the build and rollout;ghosty deploywatches until the app is live on its own URL.
What you get that an artifact cannot give you:
- A link that keeps working. Apps stay live until you take them down. No retention clock, no admin toggle that silently breaks it.
- Access rules you own. Public, a shared invite code, or a sign-in you write into the app. Viewers never need a Claude or ChatGPT account. The invite code is one shared code rather than per-person invitations, so plan for that: revoking one person means changing it for everyone.
- A real app, not a snapshot. Database, integrations, logs, and real updates your users receive automatically.
- Company visibility. The company sees every app that exists and who can reach it, which is the difference between one useful tool and fifty invisible ones.
Recovering an app from a dead artifact link
The link died, but your work did not. The code still exists in the Claude session or project where you built it. Ask your assistant to write the app into a local folder, run ghosty init there, and ship it. From then on the app has a home, and the next change is a git push, not a new link to re-send.
Frequently asked questions
Why did my Claude artifact link stop working?
The usual causes: your organization's retention policy deleted it, an admin turned off external sharing (which blocks every public link at once), or the link came from an older Claude Code version whose links expired. If the app matters, host it somewhere you control.
Can I share a Claude artifact with someone who has no Claude account?
Yes, through a public link, but on Team and Enterprise plans public sharing is off by default and an admin can revoke it later. For a link with access rules you own, deploy the app on a platform like White Ghost; viewers never need an AI account.
Can an artifact store data or have users sign in?
No. Anthropic's documentation is explicit that an artifact is a single self-contained page with no backend: it cannot store form input, authenticate viewers, or serve multiple routes. For anything people submit data to, deploy a real app, for example with White Ghost.