{"version":"2.1.281","anchor":"assistant-messages-with-plain-string-content-are-converted-t","canonical_anchor":"assistant-messages-with-plain-string-content-are-converted-t","heading":"Assistant messages with plain-string content are converted to text blocks, with telemetry","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/assistant-messages-with-plain-string-content-are-converted-t","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Assistant messages with plain-string content are converted to text blocks, with telemetry\n\nClaude's replies stored as plain text are now converted into standard text blocks before messages are assembled\n\n**What**\n\nA message's content, `message.content`, can be either a single piece of text or a list of typed blocks, such as text blocks and tool blocks. Before building the conversation to send, Claude Code now runs an extra step over it. Any reply from Claude whose `message.content` is a single piece of text is rewritten as a list holding one text block with that same text.\n\nIf the text is empty, a fixed placeholder takes its place. Each time a message is converted, Claude Code records a telemetry event, `tengu_assistant_string_content_promoted`, only once for each message's unique ID. Telemetry is the usage data Claude Code sends back to Anthropic.\n\n**Why**\n\nEvery reply now reaches the later steps in the same block-based shape, so code that expects blocks no longer has to cope with plain text. The event records how often the old shape still turns up."}