{"version":"2.1.301","anchor":"sessionend-hook-timeout-resolves-differently-when-an-organiz","canonical_anchor":"sessionend-hook-timeout-resolves-differently-when-an-organiz","heading":"SessionEnd hook timeout setting applies differently to organization hooks","tier":"notice","area":"Hooks","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301\/e\/sessionend-hook-timeout-resolves-differently-when-an-organiz","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301","markdown":"### SessionEnd hook timeout setting applies differently to organization hooks\n\nIf your organization defines SessionEnd hooks, CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS is read the organization's way, not straight from your setting\n\n**What**\n\nSessionEnd hooks are commands that run automatically when a session ends. `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` is an environment variable that sets how long they may run. Claude Code now checks who defined those hooks before using it:\n\n- If any are organization or managed hooks, the timeout is read the way organization hooks read it.\n\n- If all are your own, your value is used directly, as before.\n\n- If Claude Code cannot tell who defined them, it logs an error and reads the timeout the organization's way.\n\n**Why**\n\nA value you set yourself can no longer shorten or lengthen the time allowed for SessionEnd hooks your organization defines.\n\n- Area: Hooks\n- Names: `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`, `SessionEnd`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: both\n- Heads-up: yes"}