Mods off remotely on 2.1.288 despite docs saying on by default since 2.1.287 (rollout switch serves off)

Status Open
Reported on v2.1.288
Maintainer reply None cached
Activity 5 comments · opened Oct 3, 2026

Description

The docs for mods (https://code.claude.com/docs/en/plugins/mods/overview) state:

Mods require Claude Code v2.1.287 or later, and they're on by default. If you set CLAUDE_CODE_ENABLE_FUNCTION_HOOKS during early access, remove it. Claude Code v2.1.287 and later ignores it, so setting it to 0 doesn't keep mods off.

However, on v2.1.288 a locally-installed plugin with a hooks module (hooks/hooks.json → register(on, options)) does not load its module: the debug log shows the rollout switch is serving OFF, and a fresh start with network access does not refresh it.

Steps to reproduce

  1. Be on Claude Code 2.1.288 (check claude --version).
  2. Register a plugin with a hooks module via CLAUDE_CODE_PLUGIN_DIRS (or install it from a marketplace).
  3. Start claude interactively (network available), or run claude --debug -p "say ok" --plugin-dir <dir>.

Actual behavior

Debug log lines (timestamps UTC, from ~/.claude/debug/*.txt):

2026-10-02T02:50:20.926Z [DEBUG] hooks module tg-messenger@tg-messenger not loaded: hooks modules are turned off for installed plugins in this process: the rollout switch served off; built-in plugins load regardless
2026-10-02T05:28:20.554Z [DEBUG] hooks module tg-messenger@tg-messenger not loaded: hooks modules are turned off for installed plugins in this process: the rollout switch served off; built-in plugins load regardless
2026-10-03T02:54:39.904Z [DEBUG] hooks module tg-messenger@inline not loaded: hooks modules are turned off for installed plugins in this process: the rollout switch was saved off by an earlier session and is not refreshed yet; built-in plugins load regardless

claude plugin test <dir>:

claude plugin test: hooks modules are turned off in this process: the rollout switch was saved off by an earlier session and is not refreshed yet. Start `claude` once with network access, then run the tests again; if this message returns, installed mods are turned off remotely

I fully exited and restarted Claude Code with network access — the message returns, i.e. mods are turned off remotely for this account.

Local gating is clean: no disableAllHooks in any settings file, the workspace is trusted, no managed policy, and the env var is unset (and per the docs would be ignored anyway).

Expected behavior

Per the docs, mods load by default on ≥ 2.1.287. Either the rollout should serve ON for installed plugins, or the docs should say the gradual rollout is still in progress and mods may be off per account.

Environment

  • Claude Code 2.1.288 (macOS, darwin 25.6.0, native install)
  • Plugin registered via CLAUDE_CODE_PLUGIN_DIRS; same behavior for a marketplace-installed copy

View original on GitHub ↗

3 Comments

StefanOssendorf · 11 days ago

I have the same issue on Linux Mint.

karanb192 · 10 days ago

Same issue on macOS with 2.1.289. Clearing the cached flag got mods working again for me.

Quit Claude Code first, then run this in Terminal. It backs up ~/.claude.json and removes only that flag:

cp "$HOME/.claude.json" "$HOME/.claude.json.backup.$(date +%s)" &&
plutil -remove cachedGrowthBookFeatures.tengu_plugin_hooks_modules "$HOME/.claude.json"

Reopen Claude Code afterward.

My mod’s command worked again, and all 49 plugin tests passed. I haven’t confirmed whether the next server refresh sets the flag back to false, so treat this as a temporary workaround.

StefanOssendorf · 10 days ago

With the new claude code version 2.1.289 it's working within the terminal.
Using Claude Desktop sets the flag to false.

Showing cached comments. Read the full discussion on GitHub ↗