Allow disabling one plugin's hooks without disabling the plugin
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- shell
- Domain
- cli, developer-experience
Research direction
Look at the plugin management code, likely in a directory like src/plugin or lib/plugin. Find where hooks are registered and disabled (search for disableAllHooks). The /env command output is mentioned; see how it lists hooks by plugin. Start by understanding the plugin lifecycle and hook registration. A good test is to modify a plugin's hook state and verify the plugin's skills still work.
Written by the indexing model from the issue text.
Description
Please let me disable one plugin's hooks without disabling its skills, agents, or MCP servers.
Why
I run several third-party plugins and want to keep using one plugin's skills. I also want to vet or replace its sessionStart hook without losing those skills.
- Two plugins can inject context at
sessionStart, but I want one owner for that context. - A plugin update can change a hook, and I want to hold that hook until I review it.
Today
disableAllHooks: trueskips hooks from every source, including every plugin.copilot plugin disable NAMEdisables the whole plugin. Its help offers no per-component option.
The only workaround is to patch the plugin's hook manifest locally. That patch drifts or gets overwritten when the plugin updates.
Proposal
A per-plugin hook toggle could leave the plugin's other parts active. Either of these shapes might work:
- A config entry such as
"pluginHooks": { "<plugin>": false }. - A flag such as
copilot plugin disable NAME --hooks-only.
Since 1.0.60 (#3871), /env lists hooks by plugin. Please show their disabled state there.
Related
#3697 asks to disable repository hooks for security. This request covers plugin hooks while preserving the plugin's other parts.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-cli
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-cli#4932 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
github/copilot-cli#4909 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/copilot-cli#4906 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4729 ·
All issues in github/copilot-cli
Similar issues
-
area: harness bug status: needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Human-Agent-Society/reef#625 ·
-
module: core
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
vercel-labs/just-bash#464 ·
-
area:sandbox documentation enhancement platform:linux
Difficulty 1/5 Under an hour Newbie friendliness 85/100
anthropics/claude-code#96664 ·
-
cost:cheap severity:medium
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
fairagro/m4.2_sql_to_arc#227 ·