Artifact public sharing blocked ("uses connectors" / "This version can't be shared publicly") even with no capabilities declared
Environment
- Claude Code CLI: 2.1.212
- Platform: macOS (Darwin 24.6.0)
- Feature: Artifacts (claude.ai/code/artifact) — public sharing
Summary
Public sharing of an artifact is blocked with capability/connector-related errors even for a brand-new artifact that declares no capabilities at all and whose HTML contains no window.claude references.
Steps to reproduce
- In Claude Code CLI, publish an artifact via the Artifact tool with
capabilities: {mcp: {...}}.
→ Share publicly fails with "This artifact uses connectors, so it can't be shared publicly." — expected, fine.
- Republish the same artifact (same URL) with
capabilities: {downloads: true}(mcp revoked).
→ Share still fails with the same "uses connectors" error. Unexpected — mcp was revoked.
- Publish a new artifact (new URL) with only
capabilities: {downloads: true}.
→ Share still fails with the "uses connectors" error. Unexpected — this artifact never declared mcp.
- Republish that artifact with
capabilities: {}(explicit clear-all) and remove everywindow.claude.*reference from the page HTML.
→ Share now fails with "This version can't be shared publicly. Publish a new version or change the shared version, then try again." — even though the latest version has no capabilities. Selecting/publishing a new version does not resolve it.
- Publish a completely fresh artifact (new URL,
capabilitiesomitted entirely, clean HTML, no capability history on any version).
→ Share publicly still fails with the same "This version can't be shared publicly…" error.
Expected
- Step 2/3:
downloads(or a cleared/absent declaration) should not count as "connectors"; only anmcpdeclaration should block public sharing. - Step 5: a fresh artifact with no capability declaration on any version should be shareable publicly.
Actual
Every artifact published from this CLI session is blocked from public sharing, regardless of capability declaration. It looks like either:
- the share check evaluates something other than the artifact's actual (current-version) capability declaration, or
- the "shared version" pointer is stuck on a stale/initial version server-side, or
- capability state is cached per-owner/session rather than per-artifact-version.
Notes
- The artifacts render fine when viewed by the owner; only the public-share toggle fails.
- Artifact runtime contract: 0.1.12.