Group of 2 Under the hood
The Bash tool's internal implementation was refactored into a create() factory, a structural change with no new capability
What
The Bash tool's internal implementation changed shape, though this is a structural rework rather than a new user-facing capability:
- It moved from a flat object with a single
callmethod into acreate()factory that returns separatevalidateInput,permissionCheckFailureDecision,checkPermissions, andcallmethods. - These methods, which used to be defined directly on the tool object, are now returned per invocation from the
create()factory, with a local helper deriving context (includingshellPermission) for each call instead of it being passed in directly.
Why
This is an internal restructuring of how the Bash tool integrates with Claude Code's permission and validation pipeline. It doesn't change what the Bash tool does, but it changes how its context (like shell permissions) is computed per invocation, which is worth knowing if you're debugging or extending tool permission behavior.