Pages built by the design canvas, whiteboard and artifact editor that can publish changes back to themselves now declare capabilities: {artifact: {}}; the older spelling self is still accepted. Declaring both with different configs is rejected.
- At runtime the page looks up
window.claude.artifactand falls back towindow.claude.self; permission checks ask forartifactwhen it is present. - Skill and template guidance now says to declare exactly one spelling, and the whiteboard's Send to Claude instructions ask for
artifact: {}. - The failure wording changed too: without the capability the canvas no longer "opens read-only", it simply cannot keep changes and Save is refused.
capabilities: {artifact: {}, downloads: {}}, `capabilities declares both artifact and self — two , legacy spelling self```
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Claude Code also appends system context mid-conversation, such as file-change notices, and marks that block for caching on every provider and connection unless you set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/en/llm-gateway-protoco…prompt-caching see the edit
* **Model capabilities**: if you pin a model ID that your Claude Code version doesn't recognize, features such as effort levels or extended thinking can stay disabled on it. Declare what the model supports with [`ANTHROPIC_DEFAULT_OPUS_MOD…llm-gateway-connect see the edit
An artifact is a capture of work: one self-contained page with no backend, so it can't serve multiple routes. For a hosted internal tool with a backend, deploy it on your own infrastructure instead. See [Page constraints](#page-constraints…artifacts see the edit
Claude tried to publish an [artifact](/docs/en/artifacts) from a file whose bytes don't decode as text, or whose text already contains the replacement character `U+FFFD`, so Claude Code refused the publish before uploading anything. The me…errors see the edit
Anthropic's documentation has since written up artifact, on Error reference.