Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.139 Home All releases olderv2.1.138 v2.1.140newer
Claude Code v2.1.139

Hook and Plugin Commands Gain Safer Exec Form

Hook command definitions can now use an explicit args array for exec-style invocation. Claude Code validates the common mistake of putting both whitespace in command and also supplying args, and explains how to split executable and arguments correctly.

Usage
{
  "command": "node",
  "args": ["script.js"]
}
Details
  • command is resolved as an executable when args is present.
  • Arguments avoid shell parsing for quotes, $, and backticks.
  • Plugin and hook substitutions now include ${CLAUDE_PROJECT_DIR} in more places, including monitor hooks and plugin command paths.
Evidence

Exec-form hook schema and validation (search for "Argument list for exec form", "Exec form treats \"command\" as a single executable name", "${CLAUDE_PROJECT_DIR}")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.139 →