Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.259 ·

Plugin hooks as JS modules — gated off by default

Plugins can load hooks from real JS modules with per-action permission checks, but the rollout gate defaults off.

Nothing to try yet Notable In Development
JSON All of v2.1.259
Nothing to try yetTier: how much it should matter to you
5Useful: my rating, 1 to 5
5Signal: worth watching, 1 to 5
Plugin HooksArea: what it touches
In DevelopmentKind: in v2.1.259,
What probably matters to youSection of the release

New machinery loads a plugin's hooks from actual JS modules (function hooks) rather than only declarative config, with permission checks for call_handler, run_script, and get_handlers actions. A loader logs hooks module of plugin "X" not loaded: ... with reasons such as --bare mode, disableAllHooks, or the rollout flag being off. The rollout is controlled by a growthbook gate, tengu_plugin_hooks_modules, that defaults to off, and can be forced on or off via the CLAUDE_CODE_ENABLE_FUNCTION_HOOKS env var, which takes priority over the gate.

Read from
What the documentation says
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Added since A small documentation edit on Customize your status line touched a line naming disableAllHooks after this was published. The same trust, `disableAllHooks`, and [`allowManagedHooksOnly`](/docs/en/settings-reference#allowmanagedhooksonly) gates that apply to `statusLine` apply here. Plugins can ship a default `subagentStatusLine` in their [`settings.json`](/do… statusline see the edit
Confirmed since Anthropic's documentation has since written up disableAllHooks, on MCP, plugins, skills, and hooks. Claude Code [managed settings](/docs/third-party/claude-desktop/code#interaction-with-claude-code%E2%80%99s-own-managed-settings) deployed on the device govern these hooks as they do in the Claude Code CLI: `disableAllHooks` turns them off… third-party/claude-desktop/extensions see the edit
Added since A small documentation edit on CLI reference touched a line naming --bare after this was published. If you start Claude Code in [bare mode](/docs/en/headless#start-faster-with-bare-mode), by passing `--bare` or setting `CLAUDE_CODE_SIMPLE=1`, recording stays off unless you pass `--system-prompt-snapshot on`. Before v2.1.268, sessions tha… cli-reference see the edit
Confirmed since Anthropic's documentation has since written up --bare, on Modifying system prompts. If you start Claude Code in [bare mode](/docs/en/headless#start-faster-with-bare-mode) by passing `--bare` through `extraArgs` or setting `CLAUDE_CODE_SIMPLE=1`, recording stays off unless you set `snapshot: true` on the object form of `sy… agent-sdk/modifying-system-prompts see the edit
What has happened since
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_plugin_hooks_modules, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

How sure we are
Two sources agreeTwo things we can check say the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up --bare, on Modifying system prompts.
The name it cites is new in this buildNew in this build: CLAUDE_CODE_ENABLE_FUNCTION_HOOKS

See this entry in the whole of v2.1.259 →

Feedback