security-guidance plugin hook fires even when plugin disabled via enabledPlugins: {}
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug: The security-guidance plugin from the claude-plugins-official marketplace
continues firing hooks after being disabled via enabledPlugins: {} in settings.json.
Root cause: The plugin installs a resolved manifest at:
AppData/Roaming/Claude/local-agent-mode-sessions/<session-id>/rpm/plugin_01YBNfaNwQztYsnUydt8m47G/hooks/hooks.json
This RPM path is loaded independently of the enabledPlugins guard, so disabling
the plugin in settings.json has no effect.
Impact: Hook fires on every PostToolUse (Edit/Write), UserPromptSubmit, and Stop
event. Each invocation fails with:
python.exe: can't open file '...\hooks\security_reminder_hook.py': [Errno 2] No such file or directory
This generates repeated error notifications and wastes user tokens.
Fix needed: enabledPlugins: {} should suppress hook execution from the RPM manifest,
or the RPM manifest should be invalidated when the plugin is disabled.
Workaround: Manually clear hooks in both:
- ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/hooks.json
- AppData/Roaming/Claude/local-agent-mode-sessions/.../rpm/plugin_01YBNfaNwQztYsnUydt8m47G/hooks/hooks.json
What Should Happen?
refund me my tokens and the compensatuon for the time and effort that it took and delayed my projects delivery
Error Messages/Logs
**Bug:** The `security-guidance` plugin from the `claude-plugins-official` marketplace
continues firing hooks after being disabled via `enabledPlugins: {}` in settings.json.
**Root cause:** The plugin installs a resolved manifest at:
AppData/Roaming/Claude/local-agent-mode-sessions/<session-id>/rpm/plugin_01YBNfaNwQztYsnUydt8m47G/hooks/hooks.json
This RPM path is loaded independently of the `enabledPlugins` guard, so disabling
the plugin in settings.json has no effect.
**Impact:** Hook fires on every PostToolUse (Edit/Write), UserPromptSubmit, and Stop
event. Each invocation fails with:
python.exe: can't open file '...\hooks\security_reminder_hook.py': [Errno 2] No such file or directory
This generates repeated error notifications and wastes user tokens.
**Fix needed:** `enabledPlugins: {}` should suppress hook execution from the RPM manifest,
or the RPM manifest should be invalidated when the plugin is disabled.
**Workaround:** Manually clear `hooks` in both:
- ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/hooks.json
- AppData/Roaming/Claude/local-agent-mode-sessions/.../rpm/plugin_01YBNfaNwQztYsnUydt8m47G/hooks/hooks.json
Steps to Reproduce
Fix needed: enabledPlugins: {} should suppress hook execution from the RPM manifest,
or the RPM manifest should be invalidated when the plugin is disabled.
Workaround: Manually clear hooks in both:
- ~/.claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/hooks.json
- AppData/Roaming/Claude/local-agent-mode-sessions/.../rpm/plugin_01YBNfaNwQztYsnUydt8m47G/hooks/hooks.json
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
1.0.103
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
_No response_