{"version":"2.1.289","anchor":"spawn-provenance-cleared-when-hookcaller-is-absent","canonical_anchor":"spawn-provenance-cleared-when-hookcaller-is-absent","heading":"Stale hook attribution is cleared when an agent was not started by a hook","tier":"internal","area":"Plugin Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.289\/e\/spawn-provenance-cleared-when-hookcaller-is-absent","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.289","markdown":"### Stale hook attribution is cleared when an agent was not started by a hook\n\nWhen an agent was not started by a hook, Claude Code now deletes any old record saying it was, so a reused id is not misattributed\n\n**What**\n\nClaude Code keeps a record of which hook started an agent. A hook is a plugin or user script that runs at set moments. Before, when no hook was involved, Claude Code left any existing record for that agent's id in place. It now deletes that record first.\n\n**Why**\n\nThis is a small correctness fix. When an id is reused, the new agent is no longer wrongly credited to a hook that started an earlier one.\n\n- Area: Plugin Hooks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}