Skip to content

Disabled plugins still inject context via SessionStart and UserPromptSubmit hooks #35713

Description

@vvladbyy

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

  1. Install a plugin with SessionStart hooks (e.g., vercel@claude-plugins-official)
  2. Disable it: set "vercel@claude-plugins-official": false in enabledPlugins in ~/.claude/settings.json
  3. Confirm it shows ✘ disabled via claude plugin list
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions