Unclear What a session_metadata message contains is not known.
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
What a session_metadata message contains is not known.