Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.234 ·

SessionEnd hooks lose the bypass_permissions_disabled reason

SessionEnd hooks no longer see a bypass_permissions_disabled reason, since nothing can end your session that way.

You'll notice Removed
JSON All of v2.1.234
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
HooksArea: what it touches
RemovedKind: in v2.1.234,
RemovedSection of the release
What

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.

Details
  • 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.
Evidence

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.

Read from
Names in the bundleSessionEnd
Since it was published

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.

Added since A small documentation edit on Environment variables touched a line naming SessionEnd after this was published. | `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
Confirmed since Anthropic's documentation has since written up SessionEnd, on List Events. - `stop_reason: BetaManagedAgentsSessionEndTurn or BetaManagedAgentsSessionRequiresAction or BetaManagedAgentsSessionRetriesExhausted or BetaManagedAgentsSessionBudgetReached` api/beta/sessions/events/list see the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up SessionEnd, on List Events.

See this entry in the whole of v2.1.234 →

Feedback