What
When Claude builds an HTML artifact (a small web page or app), Claude Code first loads it in a preview frame and runs a health check on it. The script injected into that frame now defines a read-only window.claude object.
window.claude.use(name)records the capability name it was asked for, up to a capped number of names, and then resolves tonull.- The check's result gains
usesandusesMore, which list the requested names and whether more were cut off. These are merged into the preview check alongside the things it already reported: overflows, SVG clipping, Mermaid diagrams, content security policy and dialogs. - When a page calls it, Claude is told: "no artifact runtime in preview: window.claude.use() resolved null for …, so the code that needs … did not run here — exercise it after publishing". The names are filled in at runtime.
Why
The preview has no artifact runtime, so any part of a page that depends on window.claude.use() cannot actually run there. Before, the check did not notice this and such code paths could look fine. Now Claude is told which parts were not exercised and that they need testing once the artifact is published.
Names in the bundlewindow.claude.use
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
What decides whether this preview feature is available is not known.