{"version":"2.1.300","anchor":"hook-transcript-path-empty-whenever-a-condition-holds","canonical_anchor":"hook-transcript-path-empty-whenever-a-condition-holds","heading":"Hooks get an empty transcript_path in more cases, and lose the 'ignore' instruction","tier":"notice","area":"Hooks","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/hook-transcript-path-empty-whenever-a-condition-holds","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### Hooks get an empty transcript_path in more cases, and lose the 'ignore' instruction\n\nHook input now leaves `transcript_path` blank whenever a certain check holds, and agent hooks are no longer told to ignore that field\n\n**Unclear.** Which kinds of session the condition covers is not known.\n\n**What**\n\nHooks 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.\n\n- `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.\n\n- 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.\n\n**Why**\n\nIf 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.\n\n- Area: Hooks\n- Names: `transcript_path`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}