Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

tengu_plugin_hooks_modules

flag in the build JSON

A Claude Code feature flag, read out of the shipped bundle. It has been in the build since v2.1.242, including the newest one read.

Tools a plugin registers reach the model through a local loopback MCP server.

Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.242.

First seen v2.1.242 24 Aug 2026
Last seen v2.1.308 22 Oct 2026
Builds55 / 149on this box, as of v2.1.308
Written about v2.1.242 first named in a changelog, 24 Aug 2026
v2.1.242in the build not in the build never minedv2.1.308

In the changelogs

16

Releases whose published page names tengu_plugin_hooks_modules.

  1. v2.1.283
    Write live mods for Claude Code that reload inside your session

    A new bundled skill writes mods (plugins adding panes, status lines, toasts or hooks) that reload live once you agree for the session

    gate cited by this entry

  2. v2.1.283
    Hook modules that don't match a tool call are skipped earlier

    Claude Code now checks hook modules against key fields of a tool call itself and skips those that don't match, instead of sending every call to every module

    gate cited by this entry

  3. v2.1.280
    Hooks modules (plugin tests) early-access gate and messages

    Plugin hook tests now give a specific reason when they can't run: rollout off, or disabled locally

    gate cited by this entry

  4. v2.1.275
    Plugin hook modules loading gains a 'built-ins only' mode

    Plugin hook loading gains a 'built-ins only' mode that can skip loading installed plugins' hooks

    gate cited by this entry

  5. v2.1.275
    Installed (non-built-in) plugins' hooks modules gated behind a new rollout flag, off by default

    Hooks modules for installed (non-built-in) plugins now require a rollout flag, off by default

    gate cited by this entry, found in this entry's text, named in this entry

  6. 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.

    found in this entry's text, named in this entry, gate cited by this entry

  7. v2.1.247
    Clickable buttons in plugin UI, built end to end but dark in this build

    Plugin buttons work end to end in terminal and desktop, but plugin hook modules are switched off.

    named in this entry, gate cited by this entry, found in this entry's text

  8. v2.1.247
    Programmatic prompt submission gains origin and wait, which hooks cannot forge

    Hooks can see where a prompt came from and whether it queues, and cannot fake either.

    gate cited by this entry, found in this entry's text

  9. v2.1.246
    Plugin JavaScript modules stay off, and the flag reader is off even for them

    Plugin JavaScript modules can read flags, abort turns and detect the app, but they do not load at all.

    gate cited by this entry, found in this entry's text

  10. v2.1.242
    Plugin-registered tools are served over a local MCP server

    Tools a plugin registers reach the model through a local loopback MCP server.

    gate cited by this entry, found in this entry's text

  11. v2.1.242
    Plugin model calls are capped by an allowlist and a session budget

    Plugin-triggered model calls are limited to allowed models and a per-session token budget.

    gate cited by this entry, found in this entry's text

  12. v2.1.242
    Plugin hooks modules: a JavaScript engine for plugin hooks, off unless enabled remotely

    Plugin hooks.json gains a modules key for code-registered hooks, off unless enabled remotely.

    gate cited by this entry, found in this entry's text

  13. v2.1.242
    Plugins can ship JavaScript hook modules that run in a shared Bun worker, built but switched off

    Plugins could ship JavaScript hook modules running in a worker, but loading is refused here.

    gate cited by this entry, found in this entry's text

  14. v2.1.242
    Plugins get a small persistent key/value store

    Plugins get a private key/value store that survives between sessions.

    gate cited by this entry, found in this entry's text

  15. v2.1.242
    Plugin hook code is parsed and rejected unless it follows a strict shape

    Plugin hook code is parsed and rejected before running if it strays outside a narrow shape.

    gate cited by this entry, found in this entry's text

  16. v2.1.242
    Terminal output is routed through a rendering hook that nothing currently answers

    Nine parts of the terminal ask a hook before drawing, but nothing can answer yet.

    gate cited by this entry, found in this entry's text

Gate readings

3
ReleaseResolvedThis accountAnonymousCompiled default
v2.1.283 read on another version Not enough to say no value returned no value returned off
v2.1.280 read on another version Not enough to say no value returned no value returned off
v2.1.275 read on another version Off by default, switched on for this account on on off

Two arms, because they disagree: this account is the one account this site reads and anonymous is a baseline with no identity attached. A reading says nothing about your account, and off cannot rule out a rollout both readings sit outside of. What these readings can and cannot show.

Flag server, over time

18
Read asReadingFromUntilVersion installed
anonymous on 2026-10-17T05:30:04Z 2026-10-22T09:05:04Z v2.1.302 to v2.1.308
this account on 2026-10-07T18:00:12Z 2026-10-22T09:05:04Z v2.1.292 to v2.1.308
anonymous no longer carried 2026-10-17T05:25:57Z 2026-10-17T05:25:57Z v2.1.302
anonymous on 2026-10-01T17:20:31Z 2026-10-17T05:10:04Z v2.1.287 to v2.1.302
this account off 2026-10-07T17:59:34Z 2026-10-07T17:59:34Z v2.1.293
this account on 2026-10-01T18:20:06Z 2026-10-07T17:10:05Z v2.1.287 to v2.1.292
this account off 2026-10-01T17:25:05Z 2026-10-01T18:10:08Z v2.1.286
this account on 2026-10-01T17:20:31Z 2026-10-01T17:20:31Z v2.1.287
anonymous off 2026-09-30T19:55:04Z 2026-10-01T16:30:06Z v2.1.286
this account off 2026-09-30T19:55:04Z 2026-10-01T16:30:06Z v2.1.286
anonymous on 2026-09-30T19:15:05Z 2026-09-30T19:50:04Z v2.1.286
this account on 2026-09-30T19:15:05Z 2026-09-30T19:50:04Z v2.1.286
anonymous off 2026-09-30T17:30:08Z 2026-09-30T18:45:07Z v2.1.285
this account off 2026-09-30T17:30:08Z 2026-09-30T18:45:07Z v2.1.285
anonymous on 2026-09-30T17:26:32Z 2026-09-30T17:26:32Z v2.1.286
this account on 2026-09-30T17:26:32Z 2026-09-30T17:26:32Z v2.1.286
this account off 2026-09-29T21:10:05Z 2026-09-30T17:15:06Z v2.1.285
anonymous off 2026-09-29T21:05:06Z 2026-09-30T17:15:06Z v2.1.285

One row per unbroken stretch of one reading, newest first, from snapshots taken every twenty-five minutes or so. No longer carried is not off: it means the flag server stopped returning the gate at all, which is what a retired experiment looks like. The version column is what was installed when the reading was taken, not what caused it.

First cited

2

The earliest release whose published evidence quoted tengu_plugin_hooks_modules was v2.1.242, 24 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.

ReleaseDateThe span that was quoted
v2.1.24224 Aug 2026tengu_plugin_hooks_modules
v2.1.24224 Aug 2026var Lnt = "tengu_plugin_hooks_modules"

Presence across releases

3
BuildsHow manyDatesReading
v2.1.242 – v2.1.30048 builds24 Aug 2026 → 14 Oct 2026 ◆in the build
v2.1.3011 build15 Oct 2026 ○not in the build
v2.1.302 – v2.1.3087 builds16 Oct 2026 → 22 Oct 2026 ◆in the build

Build by build

56

One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.

BuildDateStateThe record behind it
v2.1.24224 Aug 2026·addedverdict: added · default unknown
v2.1.24324 Aug 2026·presentverdict: present · default unknown
v2.1.24525 Aug 2026·presentverdict: present · default unknown
v2.1.24625 Aug 2026·presentverdict: present · default unknown
v2.1.24726 Aug 2026·presentverdict: present · default unknown
v2.1.24827 Aug 2026·presentverdict: present · default unknown
v2.1.25027 Aug 2026·presentverdict: present · default unknown
v2.1.25128 Aug 2026·presentverdict: present · default unknown
v2.1.25231 Aug 2026·presentverdict: present · default unknown
v2.1.2571 Sep 2026·presentverdict: present · default unknown
v2.1.2581 Sep 2026·presentverdict: present · default unknown
v2.1.2592 Sep 2026·presentverdict: present · default unknown
v2.1.2603 Sep 2026·presentverdict: present · default unknown
v2.1.2614 Sep 2026·presentverdict: present · default unknown
v2.1.2636 Sep 2026·presentverdict: present · default unknown
v2.1.2658 Sep 2026·presentverdict: present · default unknown
v2.1.2668 Sep 2026·presentverdict: present · default unknown
v2.1.2679 Sep 2026·presentverdict: present · default unknown
v2.1.26810 Sep 2026·presentverdict: present · default unknown
v2.1.26911 Sep 2026·presentverdict: present · default unknown
v2.1.27012 Sep 2026·presentverdict: present · default unknown
v2.1.27114 Sep 2026·presentverdict: present · default unknown
v2.1.27214 Sep 2026·presentverdict: present · default unknown
v2.1.27315 Sep 2026·presentverdict: present · default unknown
v2.1.27416 Sep 2026·presentverdict: present · default unknown
v2.1.27517 Sep 2026·presentverdict: present · default unknown
v2.1.27618 Sep 2026·presentverdict: present · default unknown
v2.1.27718 Sep 2026·presentverdict: present · default unknown
v2.1.27819 Sep 2026·presentverdict: present · default unknown
v2.1.28022 Sep 2026·presentverdict: present · default unknown
v2.1.28123 Sep 2026·presentverdict: present · default unknown
v2.1.28224 Sep 2026·presentverdict: present · default unknown
v2.1.28325 Sep 2026·presentverdict: present · default unknown
v2.1.28428 Sep 2026·presentverdict: present · default unknown
v2.1.28529 Sep 2026·presentverdict: present · default unknown
v2.1.28630 Sep 2026·presentverdict: present · default unknown
v2.1.2871 Oct 2026·presentverdict: present · default unknown
v2.1.2882 Oct 2026·presentverdict: present · default unknown
v2.1.2893 Oct 2026·presentverdict: present · default unknown
v2.1.2905 Oct 2026·presentverdict: present · default unknown
v2.1.2916 Oct 2026·presentverdict: present · default unknown
v2.1.2926 Oct 2026·presentverdict: present · default unknown
v2.1.2937 Oct 2026·presentverdict: present · default unknown
v2.1.2948 Oct 2026·presentverdict: present · default unknown
v2.1.2958 Oct 2026·presentverdict: present · default unknown
v2.1.2969 Oct 2026·presentverdict: present · default unknown
v2.1.29914 Oct 2026·presentverdict: present · default unknown
v2.1.30014 Oct 2026·presentverdict: present · default unknown
v2.1.30115 Oct 2026·removedverdict: removed
v2.1.30216 Oct 2026·addedverdict: added · default unknown
v2.1.30318 Oct 2026·presentverdict: present · default unknown
v2.1.30419 Oct 2026·presentverdict: present · default unknown
v2.1.30520 Oct 2026·presentverdict: present · default unknown
v2.1.30621 Oct 2026·presentverdict: present · default unknown
v2.1.30721 Oct 2026·presentverdict: present · default unknown
v2.1.30822 Oct 2026·presentverdict: present · default unknown

Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the feature flag does. All feature flags.

Feedback