Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.234 ·

Artifacts can now carry uploaded images, video, PDFs and fonts

Claude can now upload, list, read and delete images, video, PDFs and fonts attached to your published artifacts.

Use it now Notable No documentation found New Features
JSON All of v2.1.234
Use it nowTier: how much it should matter to you
4Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
ArtifactsArea: what it touches
New FeaturesKind: in v2.1.234,
What probably matters to youSection of the release
What

The tool that publishes artifacts to claude.ai gained four actions for that artifact's file store: upload_asset sends a local file and returns a _blob/<id> URL the page can reference, list_assets enumerates them, read_asset saves one back to disk (default the working directory, named by its 32-character asset id) and delete_asset removes one permanently. Uploads cap at 20971520 bytes, or 2097152 for SVG. Set CLAUDE_CODE_ARTIFACT_ASSETS to turn the actions off; they are otherwise present.

Details
  • Accepted extensions are a fixed list: .png, .jpg, .jpeg, .gif, .webp, .svg, .mp4, .webm, .pdf, .woff2, .woff, .ttf, .otf. Anything else is refused, as are network and UNC paths.
  • The actions also need the account to have the "assets" capability; without it the call fails as unavailable. The extra schema fields (asset_id, out_dir, after for paging) appear only when that capability is on.
  • Permissions are tracked per artifact and separately from artifact database access, with their own consent maps for upload and read, plus separate human-consent variants. Deletes are irreversible and every delete asks separately; reading your own artifact's assets needs no extra approval while another person's asks once per artifact; uploads either ask each time or are approved for the session.
  • Reading the source file is still checked against your Read rules ("reading file_path is blocked by a Read permission rule — the upload was not attempted"), and saving an asset is checked against Edit rules. Downloads land in a .partial file and are moved into place.
  • Results report id, content type, sha256 and a files/bytes quota. Transcript lines read "uploaded … as …", "listed N assets", "saved …", "asset deleted", "no such asset" and "no assets listed". New telemetry: artifact_asset_upload, artifact_asset_list, artifact_asset_read, artifact_asset_delete.
Evidence

read_asset only: directory to save the file into (default: the working directory). The file is named by the asset id plus the extension for its type., "no assets listed", artifactAssetUploadHumanConsentSlugs, artifact_asset_upload, 'upload_asset' adds one local media, PDF, or font file to an existing artifact, asset_upload_read_denied, For 'upload_asset', the local image, video, PDF, or font file to upload., upload_asset", "list_assets", "read_asset", "delete_asset

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Names in the bundleCLAUDE_CODE_ARTIFACT_ASSETS
How sure we are
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this buildNew in this build: CLAUDE_CODE_ARTIFACT_ASSETS

See this entry in the whole of v2.1.234 →

Feedback