Plugins set to "enabledPlugins": false in ~/.claude/settings.json continue to fire their SessionStart and UserPromptSubmit hooks, injecting large amounts of context into the conversation window.
Steps to reproduce
- Install a plugin with SessionStart hooks (e.g.,
vercel@claude-plugins-official)
- Disable it: set
"vercel@claude-plugins-official": false in enabledPlugins in ~/.claude/settings.json
- Confirm it shows
✘ disabled via claude plugin list
- Start a new session or run
/clear
Observed behavior
- The plugin's SessionStart hook fires and injects its full context (in the case of
vercel, a ~15KB knowledge graph)
- UserPromptSubmit hooks also fire on every message, matching keywords and demanding skill invocations
- This fills ~15-20% of the context window before the user says anything
Expected behavior
A disabled plugin should be completely silent — no hook execution, no context injection.
Environment
- Claude Code (CLI)
- macOS Darwin 23.0.0
- Plugin:
vercel@claude-plugins-official (version 87b8d0f6bb0a)
Workaround
Full uninstall via claude plugin uninstall <name> — but this forces reinstall when the plugin is needed again, instead of a simple enable/disable toggle.
Plugins set to
"enabledPlugins": falsein~/.claude/settings.jsoncontinue to fire theirSessionStartandUserPromptSubmithooks, injecting large amounts of context into the conversation window.Steps to reproduce
vercel@claude-plugins-official)"vercel@claude-plugins-official": falseinenabledPluginsin~/.claude/settings.json✘ disabledviaclaude plugin list/clearObserved behavior
vercel, a ~15KB knowledge graph)Expected behavior
A disabled plugin should be completely silent — no hook execution, no context injection.
Environment
vercel@claude-plugins-official(version 87b8d0f6bb0a)Workaround
Full uninstall via
claude plugin uninstall <name>— but this forces reinstall when the plugin is needed again, instead of a simple enable/disable toggle.