{"version":"2.1.310","anchor":"hook-dispatch-passes-hookorigin-and-engineraised","canonical_anchor":"hook-dispatch-passes-hookorigin-and-engineraised","heading":"Hook events Claude Code raises itself are now marked with their origin","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/hook-dispatch-passes-hookorigin-and-engineraised","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### Hook events Claude Code raises itself are now marked with their origin\n\nWhen Claude Code itself sends a hook event, the event now carries where it came from and a mark saying Claude Code raised it\n\n**What**\n\nA hook is an action you set up to run automatically at certain points while Claude Code works. When Claude Code sends a hook event on its own, the event now carries where it came from and a mark saying Claude Code raised it, along with the stop signal it already passed.\n\n**Why**\n\nThis lets the rest of Claude Code tell apart hook events it raised itself from other ones, and know their source.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}