Artifacts
When a Claude session publishes a page with the Artifact tool (a report, a dashboard, a one-page explainer), cterm records it for the project, keeps a copy of the page and shows it in the Artifacts panel beside the session, without a trip to claude.ai.
What it is for
A session that builds a page for you leaves it on claude.ai, in a gallery that knows nothing about your projects. cterm keeps those pages where the work is:
- They belong to the project. Any session of the project sees the whole list, with what it made itself first. The pages outlive the session that made them, so an artifact from last month is still one click away after its session is gone from the list.
- cterm holds its own copy. The page is copied when it is published, so it opens from cterm even when the session's scratchpad has been wiped or the artifact was deleted on claude.ai.
- A link to hand on. The copy has an address of its own that opens the page for anyone who holds it, without an account, until you make a new one.
How to use it
Open the panel
- Beside a session: the Artifacts button in the session head shows how many the project holds; press it to open the panel. Rows are grouped under This session and Elsewhere in the project.
- For a project, without a session: the layers icon with a count on the project's group head in the sidebar, or Artifacts… in the project's menu, opens the project's list on its own in the main area. Its tooltip says how many were published and how many were deleted on claude.ai.
- On the project page: the Artifacts tab shows the same list.
- From the chat: when Claude publishes a page, the Artifact card's title and any claude.ai artifact link in Claude's text open the panel on that page. A Cmd-click or a middle click opens the copy in a new tab instead.
Read a page
Click a row. The page shows in a frame under a head with its title, the session that made it (and the one that last republished it, when another did) and a short description. Each row shows when it was last published; a page republished several times shows its count, such as v3. A page deleted on claude.ai is struck through and still opens from cterm's copy.
The head's links:
- claude.ai: the artifact on claude.ai, where its own sharing and comments live.
- Open: cterm's copy in a tab of its own.
- Copy link: the copy's address, to paste anywhere (see below).
- Chat: a chat beside the page where visitors ask about it (see below).
- New link: replaces the copy's address.
- Remove: drops the artifact from cterm, after a question. The artifact on claude.ai stays.
Chat, New link and Remove show to the project's owner. Two kinds of rows have no page to show: one made from an Artifact type (a deck, a document, a design) and one cterm could not copy; both say so and open on claude.ai.
Share a page
Copy link puts the copy's address on the clipboard, built from cterm's public address when one is set. Whoever opens it sees the page alone, with no sign-in and nothing else of cterm. The link does not expire. When it has gone somewhere it should not have, New link makes a fresh address and every link shared so far stops working; the page itself stays. Pasted into a chat app, the link draws a preview card with the page's title and description.
A link copied from the chat (the address of an artifact inside cterm) is different: it asks for a sign-in first, so it is for people who already use your cterm.
Put a chat beside the page
Chat opens Chat on another page: a chat box beside the page, on its link and on any site you name, where visitors ask questions about what the page shows. The form asks for:
- Sites that may show it (the page's own link always may).
- Title of the box.
- Let it read the project's files, off by default; read-only, with
.envfiles, keys and.gitkept out. - Answers on (the model), Ends, Questions a day and …per visitor's address.
Press Make the chat. From then on the page's link opens the page with the chat beside it. Each visitor has a conversation of their own, answered from the page's text, never by one of your sessions. Each chat lists the tag to paste into another site, its counts and What was asked, and Revoke stops it everywhere. Making a chat needs an admin account, since every answer runs on this Mac's Claude plan.
How it works
- Recording. The Artifact tool's
PostToolUsehook carries the local page, its supporting files and the published URL. The daemon stores a row per artifact in its store (artifacts.ts), keyed by the claude.ai id, with the session that made it and the one that last republished it. Sessions that ran before are filled in from their transcripts when you open them. - The copy. The page and the files the tool named are copied into
~/.cterm/artifacts/<id>/, but only from the session's own folder and scratchpad. cterm keeps the latest version with a count of how many there were, not every version. Backups include the copies. - Serving. The copy is served at a long random address of its own, in a sandbox: its scripts run, but cannot reach cterm's cookies, storage or API, and the address is never sent to sites the page loads from. Features that only exist on claude.ai (a page's shared database, comments, "ask Claude") do not work in the copy.
- Removing. Remove drops the row and the copy, and cterm remembers the removal so the transcript does not bring the artifact back; nothing on claude.ai is touched. A project's artifacts switch in its Settings tab turns the panel and the recording off.
- The chat is one
claude -pcall per question on a restricted Claude Code that can only read the page (and the project, when allowed), with limits per day and per address.
Scenarios
Finding last month's report
Pau asked a session in September for a page comparing three hosting offers. The session is long gone from the list. He clicks the layers count on the project's group head, finds "Hosting comparison" under the project's artifacts and reads it in the frame, even though the scratchpad it was written in was wiped at the last reboot.
Sending a page to a client
You had a session publish a one-page summary of a quote. You press Copy link and paste it into an email. The client opens it on their phone with no account, and the preview in their mail app shows the title. A week later the quote changes and the old link should die: New link, and the first address stops working.
A page that answers questions
An admin publishes a page of the team's plans and prices and adds a chat from Chat, limited to 20 questions a day per visitor. Colleagues ask "which plan fits five people?" in the box beside the page. On Friday the admin reads What was asked to see what the page failed to make clear.
Related
- Sessions and the rich pane: where the Artifact card shows when a session publishes.
- The project page: the Artifacts tab and the project's other tabs.
- Sharing: sharing a whole session by link, and chats on other sites.
- Accounts and projects: who owns a project and its switches.