You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.300,
ImprovementsSection of the release
Unclear Which kinds of session the condition covers is not known.
What
Hooks are commands or checks that Claude Code runs at set moments. Some hooks ask Claude to judge something using a prompt or an agent. Each hook receives some input, including transcript_path, the location of the file where the conversation is recorded.
transcript_path is now an empty string ("") whenever a particular internal check is true. Before, it was blank only when that check was true and the session also had no project.
When there is no transcript, the text given to prompt and agent hooks now says only "There is no conversation transcript file to read here." It no longer adds an instruction to ignore transcript_path in the hook input.
Why
If you write hooks that read transcript_path, it can now be empty in more situations than before, so check for an empty value rather than assuming a path is always there.
Read from
Names in the bundletranscript_path
Since it was published
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed sinceAnthropic's documentation has since written up transcript_path, on Intercept and control agent behavior with hooks.print(f" Transcript: {input_data['agent_transcript_path']}")agent-sdk/hookssee the edit
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich kinds of session the condition covers is not known.
Anthropic's documentation agreesAnthropic's documentation has since written up transcript_path, on Intercept and control agent behavior with hooks.