Feature Request: --disable-plugin flag for per-session plugin control
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
## Summary
Currently, there is no way to start a Copilot CLI session with specific plugins disabled without fully uninstalling them. A `--disable-plugin ` startup flag would allow lightweight sessions without losing plugin configuration.
## Current behaviour
The only way to start without a plugin is to uninstall it:
```bash
copilot plugin uninstall
# ...later...
copilot plugin install
```
## Proposed change
Add a `--disable-plugin ` flag (can be used multiple times, similar to the existing `--disable-mcp-server`):
```bash
# Start a minimal session — no user plugins, only built-in tools
copilot --disable-plugin security-best-practices --disable-plugin context-engineering
# Or a blanket flag to skip all plugins for this session
copilot --no-plugins
```
This mirrors the existing pattern of `--disable-mcp-server` and `--disable-builtin-mcps` which already provide per-session MCP control.
## Use case
Power users often configure multiple plugins for different workflows. A simple alias pattern like:
```bash
alias copilot_minimal='copilot --no-plugins --disable-mcp-server playwright --disable-mcp-server postgres'
```
...would let you switch between heavy and lightweight sessions without touching installed state.
## Related
- #2714 — requests persistent `plugin enable/disable` commands (different angle: that is config-level; this is per-session flag)
## Notes
The feature gap is noticeable because MCP servers already have this per-session control (`--disable-mcp-server`) but plugins do not. Parity between the two would make the CLI much more composable for scripting and alias-based workflows.
Contributor guide
Research direction
Start by locating the existing --disable-mcp-server and --disable-builtin-mcps option definitions and trace how session startup loads plugins. Define the behavior of repeated --disable-plugin flags and --no-plugins, then add coverage showing that disabled plugins are skipped without changing installed configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100