Fetching from the wire…
Public story · 2026-08-25 · high
Bash conditions like Bash(cat *) were also firing on unrelated commands containing $() or backticks.
Why now: Part of the 2.1.243 release covered in the August 25 changelog update.
Claude Code 2.1.243 fixes a bug where hook if conditions matched more than they were supposed to. A condition like Bash(cat *) would also fire on unrelated Bash commands whenever the command string contained $() or backticks followed by more arguments, according to the changelog. That means a hook allowlist written to catch one command shape could have been approving or blocking others too, with no error to flag it, depending on how it was wired.
Anyone running hooks non-interactively should re-check their conditions now that the matching logic has changed. An allowlist that looked correct for weeks can behave differently once the false-positive matching stops.
Two other fixes in the same release matter for the same audience. The --agents flag now exits with a clear error on invalid JSON or invalid agent definitions. Before, it silently ignored them, so a bad config file could fail downstream with no warning at the point of the mistake. Remote MCP servers used in -p mode and SDK sessions now reconnect or report as failed when a connection drops, rather than hanging indefinitely with no recovery path.
All three fixes share a pattern: silent failure modes that only show up under automation, not interactive use. If you're running Claude Code in CI, in a script, or inside an SDK integration, none of the three previous behaviors would have thrown an error. They'd have just done the wrong thing. Pull up your hook conditions and agent configs after upgrading, and confirm they still do what you think they do.
Each link below shares sources, entities, or timing with this story.
Claude Code supports Bash / Shared entity: Bash / Same source / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code supports Bash); both cover Bash; cite the same source (changelog).
Claude Code supports Bash / Shared entities / Same source / Earlier coverage
Linked by a graph relationship (Claude Code supports Bash); both cover Bash, SDK; cite the same source (changelog).
Claude Code supports Bash / Shared entity: Bash / Same source / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code supports Bash); both cover Bash; cite the same source (changelog).
Linked by a graph relationship (Claude Code supports Bash); both cover Bash; cite the same source (changelog).
Linked by a graph relationship (Claude Code supports Bash); both cover Bash; cite the same source (changelog).
Claude Code supports Bash / Shared entity: Hook / Same source / Shared topic / Earlier coverage
Linked by a graph relationship (Claude Code supports Bash); both cover Hook; cite the same source (changelog).
Claude Code supports Bash / Same source / Shared topic
Linked by a graph relationship (Claude Code supports Bash); cite the same source (changelog); overlapping topics (agent, allowlist, command, connection).
Linked by a graph relationship (Claude Code supports Bash); cite the same source (changelog); overlapping topics (agent, been, command, hook).