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

Hooks modules only receive the commands and tool calls they match

Plugin hooks modules for command.run now receive only the commands in their runCommands list, and tool.call modules can be skipped on the host

Group of 3 You'll notice Internal Changes
JSON All of v2.1.283
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
ModsArea: what it touches
Internal ChangesKind: in v2.1.283,
ImprovementsSection of the release

Unclear It is not clear what the new runCommands field records.

What

Plugins can ship hooks modules: code that runs when certain events happen in Claude Code. command.run is the event for running a slash command, and tool.call is the event for Claude using a tool. Claude Code now checks before handing an event to a module whether that module wants it.

  • command.run: a module's registration now records a runCommands list. A command goes to the module only if the module has a command.run hook and either lists no commands or lists that one. Before, every slash command went to it. runCommands also now appears in module analysis output.
  • A built-in module, the one that reads CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING, now declares runCommands: ["clear", "diff", "resume"]. Its hook now fires only for /clear, /diff and /resume.
  • tool.call: the event now declares pinnedKeys. When a module's matcher rejects an event on a pinned key, Claude Code skips that module in the main process instead of sending the event to it. If the matcher fails with an error there, Claude Code logs "matcher threw on the host ...; the hop decides" and lets the module decide.

Why

Modules no longer receive every slash command or every tool call when they only care about some. This avoids an extra round trip to the module for events it would ignore anyway. Plugin authors can rely on a command.run hook seeing only the commands it lists.

Read from
Feature flag
tengu_plugin_hooks_modules Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.283: off

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.283. It isn't a statement about your account. What a flag value here can and cannot tell you

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
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtIt is not clear what the new `runCommands` field records.

See this entry in the whole of v2.1.283 →

Feedback