Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.269 ·

Bash tool internals restructured into a factory-based interface

The Bash tool's internal implementation was refactored into a create() factory, a structural change with no new capability

Group of 2 Under the hood Internal Changes
JSON All of v2.1.269
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Bash ToolArea: what it touches
Internal ChangesKind: in v2.1.269,
Internal ChangesSection of the release

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 call method into a create() factory that returns separate validateInput, permissionCheckFailureDecision, checkPermissions, and call methods.
  • 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 (including shellPermission) 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.

See this entry in the whole of v2.1.269 →

Feedback