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.257 ·

New CLAUDE_PLUGIN_DATA placeholder; script-type hooks recognized but not runnable

Script hooks are parsed, path-expanded and dispatched, but the function that runs them throws every time.

Group of 2 Use it now Notable Nothing to try yet No documentation found In Development
JSON All of v2.1.257
Use it nowTier: how much it should matter to you
5Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
HooksArea: what it touches
In DevelopmentKind: in v2.1.257,
What probably matters to youSection of the release

The hooks system now recognizes a hook type: "script" distinct from existing command hooks, with dedicated path anchoring supporting ${CLAUDE_PROJECT_DIR}, ${CLAUDE_PLUGIN_ROOT}, and the new ${CLAUDE_PLUGIN_DATA} substitution plus ~-expansion, and a description formatter for it. However, the function that actually executes a script hook throws unconditionally at the point of use, from both the main hook-execution path (where hooks are matched by type) and a second call site, so script hooks do not actually run yet.

Hook config validation was also updated to explicitly whitelist ${CLAUDE_PROJECT_DIR}, ${CLAUDE_PLUGIN_ROOT}, and the new ${CLAUDE_PLUGIN_DATA} as the only expandable placeholders allowed in a hook's file field; any other $-expansion, backtick, or %NAME% pattern is flagged as invalid.

Read from
Names in the bundletype: "script"

See this entry in the whole of v2.1.257 →

Feedback