Skip to content
Guides

Artifacts

Pages, PDFs, sheets, emails and videos your agent makes, kept in versions.

An artifact is what your agent makes beyond its answer: a page, a PDF, a sheet, an email, a video. Each is a git repository in Cloudflare Artifacts, started from its kind’s template, built in a sandbox, kept in versions, opened at its link.

An artifact is code that renders: React to HTML, a PDF, a spreadsheet, a video with its voice. That takes tools no MCP client holds (claude.ai runs nothing): a browser, LibreOffice, ffmpeg, a voice. aeria’s sandbox holds them all, pinned, so an artifact builds the same way every time, offline.

An artifact is a session of its own: one sandbox, its own events.

kind   what opens            shown as
page   dist/index.html       a frame
pdf    dist/document.pdf     a PDF
email  dist/email.html       a frame, no script
excel  dist/book.xlsx        a table (with dist/book.json)
video  dist/video.mp4        a player (with dist/poster.png)

Each template’s CLAUDE.md says how to change it; your agent reads it like any file.

pulled      artifact_pull {artifact, kind}: a new one from its kind's
            template; the same name again: the one there
changed     artifact_file_read reads a file (no sandbox);
            artifact_file_write and artifact_command_run run in its
            sandbox, each change pushed
saved       artifact_save {artifact, message}: built, checked, kept as
            its next version
shared      artifact_access_set {artifact, access}
archived    artifact_archive: hidden, its link refused, its sandbox
            purged; its repository, versions and record kept
unarchived  artifact_unarchive: found again, its link answers again

artifact_save builds the artifact in its sandbox (10 minutes at most), checks each output, and keeps it as the next version.

  • One save at a time: another meanwhile is refused saving.
  • A failed build is refused build_failed with its last 30 lines; nothing is kept.
  • An output missing or empty is refused no_output; one past 100 MB, too_large.
  • Saving the same commit as the latest version answers that version.
https://<artifact>-<workspace>.aeria.run/             its latest version
https://<artifact>-<workspace>.aeria.run/version/<n>  one version

It opens its first output, or the one ?path= names. It is served on aeria.run, never on aeria.dev: what an agent wrote never runs on aeria’s own domain.

Access Who opens it
self its maker only (the default)
workspace a signed-in member of its workspace
public anyone, no sign-in

A self or workspace artifact signs its visitor in for its host first. Another member opening a self one is refused not_allowed; an archived one answers no_artifact.

Lower-case letters, digits and dashes, 63 at most, unique in its workspace.

artifact_pull, artifact_file_read, artifact_file_write, artifact_command_run, artifact_save, artifact_search, artifact_access_set, artifact_tags_set, artifact_archive, artifact_unarchive. Each with its level: Tools.