The reason a SessionEnd hook receives is now one of five values: clear, resume, logout, prompt_input_exit and other. The bypass_permissions_disabled value is gone from the whole build, along with the mid-session check that used to log a warning and exit with it, so nothing emits it any more.
- The hook schema and the runtime list now agree, and the hook documentation's matcher values are generated from the same shared constant instead of being hardcoded a second time.
prompt_input_exit, "clear", "resume", "logout", "prompt_input_exit", "other"
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
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.
| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Override the time budget in milliseconds for [SessionEnd](/docs/en/hooks#sessionend) hooks. The value is also the timeout for each hook that sets no `timeout` of its own. Applies to session exi…env-vars see the edit
- `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached`api/beta/sessions/events/list see the edit
Anthropic's documentation has since written up SessionEnd, on List Events.