Support runtime provider, model, and command registration from extensions
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 153
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
A user reported that extensions can register providers, models, and commands in the live session registry, but the Copilot app does not fully consume those updates.
## Reported behavior
An extension can:
- Register a provider and model through `session.rpc.provider.add`
- Register slash commands
- Emit `commands.changed`
This works in Copilot CLI. In the app:
1. The model picker does not refresh after registration.
2. If the model later appears, selecting it can fail because the app treats it as a persisted provider.
3. Extension commands do not appear after `commands.changed`.
## Expected behavior
The app should consume the live session registry, refresh models and commands after registration, and select extension models by their provider-qualified ID.
Contributor guide
Research direction
Start by tracing how the app consumes the live session registry after session.rpc.provider.add and commands.changed. Follow the model picker and extension-command refresh paths, then verify that newly registered models and commands appear and that model selection uses the provider-qualified ID.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100