What
The permission mode controls how much Claude Code may do without asking you first. Bypass permissions is the mode that skips those prompts. Claude Code now keeps both values in a shared context object.
- When the permission mode changes, a helper now merges
currentPermissionModeinto that context. Before, onlynotifyPermissionModeChangedwas called. - When the availability of bypass permissions changes,
bypassPermissionsAvailableis merged into the same context. - These updates only happen when the context already holds a
permissionMode. - The code that builds request context, which includes client-version metadata, used to read the mode only from what its caller passed in. If none was passed, the mode was undefined, and bypass availability defaulted to true. It now falls back to
currentPermissionModeorpermissionModefrom the saved state. Bypass availability now comes frombypassPermissionsAvailable !== !1, which is true unless the saved state says false.
Why
The permission mode reported with some requests can now come from the live session instead of being left out. This may change what mode is reported in client-version metadata for some calls.