Artifact public sharing blocked ("uses connectors" / "This version can't be shared publicly") even with no capabilities declared

Status Open
Reported on v2.1.212
Maintainer reply None cached
Activity 0 comments · opened Jul 17, 2026

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

  1. 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.

  1. 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.

  1. 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.

  1. Republish that artifact with capabilities: {} (explicit clear-all) and remove every window.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.

  1. Publish a completely fresh artifact (new URL, capabilities omitted 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 an mcp declaration 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.

View original on GitHub ↗