{"version":"2.1.271","anchor":"new-internal-field-records-which-command-run-printed-a-local","canonical_anchor":"new-internal-field-records-which-command-run-printed-a-local","heading":"Local command output now records which command produced it, enabling live rendering","tier":"internal","area":"Transcript","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271\/e\/new-internal-field-records-which-command-run-printed-a-local","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271","markdown":"### Local command output now records which command produced it, enabling live rendering\n\nOutput from local slash commands now carries the command and arguments that produced it, so it can render live instead of as static text\n\n**What**\n\n- Local command result messages (`local-command-stdout`\/`local-command-stderr`) and their internal\/wrapper-level equivalents now carry a `local_command_run` (also called `commandRun`) field recording `{command, args}` \u2014 the command name and arguments that produced that output \u2014 with sensitive arguments redacted as `***`.\n\n- This field round-trips through history replay (`toInternalMessages`), so it survives session resumption.\n\n- When this data is present, transcript rendering now uses a new `CommandOutputSite`\/`CommandOutput` component instead of the static text renderer, enabling progressive, live display of a command's output as it runs.\n\n**Why** Tracking which command produced a given output line lets Claude Code render that output live, updating as the command runs, instead of only showing it once the command finishes, and preserves that association through session history and replay.\n\n- Area: Transcript\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 1\/5"}