What's wrong with this entry?
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.
{
"command": "node",
"args": ["script.js"]
}commandis resolved as an executable whenargsis 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.
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.