What
The SDK lets other programs, such as a desktop app, run Claude Code and receive its messages as a stream. This release adds a new kind of system message on that stream:
- It is a system message with subtype
session_metadata, carryingmetadata.artifacts. Each artifact has a url, title, favicon, kind "frame" and updated_at, and the list becomes null once it is empty. Its description says it mirrors the external_metadata update a cloud worker sends, so an SDK host can keep the per-session summary a cloud session gets without reading transcript rows. - The SDK stream loop now forwards these messages, alongside
post_turn_summaryandtask_summary. - The WebSocket remote-session client filters them out, so they do not appear as conversation messages.
Why
Local SDK hosts can now track a session's published artifacts the way cloud sessions already do. If you consume the SDK stream, expect session_metadata messages you did not receive before.
Names in the bundlesession_metadata
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
When Claude Code actually sends this message is not known.