Skip to content

Open published artifacts in a dedicated side panel - #456

Merged
jamesrochabrun merged 1 commit into
mainfrom
jroch-design
Aug 18, 2026
Merged

Open published artifacts in a dedicated side panel#456
jamesrochabrun merged 1 commit into
mainfrom
jroch-design

Conversation

@jamesrochabrun

Copy link
Copy Markdown
Owner

Artifacts an agent publishes to claude.ai during a session (/design canvases, reports, mockups) now open in their own side panel, on the same rails as localhost web preview: passive detection from the session JSONL, a header button that appears only once there's something to show, toggled open/closed.

Detection (SessionJSONLParser, Claude only — Codex has no artifact surface):

  • the Artifact tool call → its result (title + source path from the call, URL from the result)
  • the frame-link entry Claude Code writes alongside it
  • a bare claude.ai/code/artifact/… URL in the transcript, filed untitled

Artifacts are keyed by the id in the URL, so a republish updates the existing entry and bumps revision — which is what makes an open panel reload — rather than duplicating it. The canonical URL drops query/fragment (?via=… is provenance, not identity).

Panel: picker when a session published several, reload, open in browser, expand (⌘⇧O), close, and a load-failure state with retry. The web view uses the persistent website data store, since artifact pages are private to the account and the sign-in has to survive a panel close and a relaunch. A signed-out load lands on Anthropic's sign-in page, which the panel banners as Anthropic's — not AgentHub's — and tells the user to sign in in the panel: a browser session is a different cookie jar and never carries over.

Tests: 13 new tests over URL canonicalization/sign-in detection and the three parse paths (publish, frame-link, bare mention, republish, lenient frame-link field decoding). Targeted AgentHubCore suites and the app build pass; not yet exercised in the running UI.

Detect artifacts an agent publishes to claude.ai during a Claude session
(Artifact tool result, the frame-link entry, or a bare artifact URL in the
transcript) and surface them behind an Artifact button in the card header.

- Artifacts are keyed by URL id, so a republish updates the entry and bumps
  a revision instead of duplicating it; the open panel reloads on the bump.
- The web view uses the persistent data store: artifact pages are private to
  the account, so the sign-in has to survive a panel close and a relaunch.
  A signed-out load is bannered as Anthropic's sign-in, not AgentHub's.
- Claude only; Codex has no artifact surface.
@jamesrochabrun
jamesrochabrun merged commit d7a29dc into main Aug 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant