Artifacts handle more than people expect right up until they don't. The four limits that actually stop projects — no backend, storage that only exists after publishing, an irreversible unpublish, and the settings toggle — and what to do at each one.
Artifacts are more capable than people expect, right up to the moment they aren't. The trouble is that the limits don't announce themselves early — you find them halfway through, after the shape of the thing is already decided.
Four of them actually stop projects. The rest are details.
Anthropic's documentation is direct about this. Artifacts cannot access backend infrastructure, external networks, or real-time external data sources, and cannot perform direct server operations.
The practical shape of that limit is worth stating concretely, because "no backend" sounds narrower than it is:
This is the wall people hit hardest, usually because the artifact does so much else well that a backend feels like it should be the next small step. It isn't a small step; it's a different category of thing.
What to do here: stop trying to make the artifact into an application, and use a platform built for one. Vercel and Netlify both do this properly and neither will charge you for finding out. Trying to fake a backend inside an artifact costs more than moving.
Artifacts on the Pro, Max, Team, and Enterprise plans can have persistent storage, with three constraints worth knowing before you design around it:
| Constraint | Value |
|---|---|
| Size | 20 MB per artifact |
| Data type | Text only — no images, files, or binary |
| Availability | Published artifacts only |
That third row is the one that wastes an afternoon. Anthropic's documentation states that during development and testing, storage operations will not succeed until the artifact is published. So you build a feature that saves something, test it, watch it silently not work, and start debugging code that was never the problem.
What to do here: publish first, then test the storage path. And if the thing you want to persist is binary — an image, a file, anything not text — that's outside what the storage takes, and no amount of encoding it into a string is a good idea at a 20 MB ceiling.
Two documented facts that belong together: once you unpublish an artifact you cannot publish that same artifact again, and unpublishing permanently deletes all associated storage data.
So "unpublish" is not the opposite of "publish". It isn't a visibility toggle you can flip back when the client's review window reopens. It's a delete with a gentle name.
We wrote this one up on its own — what unpublishing a Claude artifact permanently takes with it — because it's the only limitation in this list with consequences you can't undo by trying again tomorrow.
What to do here: treat unpublish as reserved for "this should never be reachable again." If what you actually want is "stop showing this for now", there is no in-platform way to do that, and the honest move is to hold delivery on a link where turning access off and back on is an ordinary action.
Anthropic's documentation notes that artifacts are no longer supported without code execution and file creation enabled. If that's off, artifacts don't work — not partially, not intermittently.
Ruling this out belongs at the very start of any "artifacts aren't working" session, because a total failure caused by a setting looks exactly like a serious platform problem and takes ten seconds to fix. If the toggle is on and a published artifact still comes up empty, that's a different diagnosis — see which of three things broke when a published artifact is a blank page.
Almost every "the artifact hit a wall" conversation is really one of these, and they have different answers:
"This needs to be an application." Server, database, real accounts, secrets. Artifacts were never going to do this, and neither will exporting the file. Move to a platform that runs your code — Vercel, Netlify, whatever your stack suits. This is not a workaround; it's the right tool.
"This needs to be deliverable and permanent." The artifact is fine. What's missing is that it lives inside a conversation, on someone else's publish state, at an address you don't control. That one has a small fix: ask for it as a single self-contained HTML file and download it. The export checklist covers what "self-contained" quietly leaves out, because an artifact that looks portable and isn't fails later and more confusingly.
Once it's a file, delivery is a separate decision you get to make — including on miinideck, where the file sits behind an unguessable link that stays out of search by default, and replacing the file keeps the same URL so a link you sent in June still opens the current version in December.
The boundary worth naming: none of that gives you a backend. If wall one is the one you hit, a private link doesn't help and pretending otherwise would waste your time.
Two things people expect to be restricted and aren't:
Claude's documented behaviour and the numbers in this post were checked against Anthropic's own support documentation on 11 August 2026. Platform limits change; confirm on their side before designing around them.
Artifacts can't reach a server, can't store anything until published, can't be unpublished twice, and won't run at all with the wrong setting. Three of those you work around. One of them — unpublish — you simply don't do casually.
And when the wall is genuinely "this needs a backend", the useful answer is a real application platform, not a cleverer artifact.
The message is about Anthropic's side, not yours, and it usually clears on its own. The risk isn't the outage — it's what people press while waiting. Here's the safe order of operations, and how to get the work out of the artifact while you wait.
You built something in Claude, came back weeks later, and it's gone. Usually it isn't deleted — it's sitting inside a conversation you can no longer find. Here's how to get it back, and the one case where it really is unrecoverable.
Artifacts stop appearing and every guide says the same four generic fixes. Here's the order that actually separates a setting on your side from an outage on theirs — starting with the one documented cause that produces total failure.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.