Mods off remotely on 2.1.288 despite docs saying on by default since 2.1.287 (rollout switch serves off)
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
- Be on Claude Code 2.1.288 (check
claude --version). - Register a plugin with a hooks module via
CLAUDE_CODE_PLUGIN_DIRS(or install it from a marketplace). - Start
claudeinteractively (network available), or runclaude --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
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
I have the same issue on Linux Mint.
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.jsonand removes only that flag: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.With the new claude code version 2.1.289 it's working within the terminal.
Using Claude Desktop sets the flag to false.