Extensions fork once per session instead of being shared
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 153
- PR merge metrics
- No merged PRs in 30d
Description
### Short summary
Every open session forks its own copy of all installed extensions, so memory scales with sessions x extensions.
### Affected version or release
App 1.0.26 (CLI 1.0.75), Windows 11
### Installation context
13 user extensions in `~/.copilot/extensions`, 4 sessions open
### What happened?
Each session starts a separate OS process for every installed extension, whether or not the extension is ever used. Nothing is shared between sessions and nothing is lazy.
With 13 extensions and 4 sessions open: 53 extension processes, 13.5 GB.
Almost all of that is runtime overhead, not extension code.
### Steps to reproduce
1. Install several extensions.
2. Open 4 sessions.
3. Count `copilot.exe` processes with `extension_bootstrap` in the command line.
### Expected behavior
Extensions start when first used, or one extension host is shared across sessions. Memory should not multiply by session count.
Contributor guide
Research direction
Reproduce the issue with several installed extensions and four open sessions on Windows 11, then count copilot.exe processes containing extension_bootstrap. Compare the observed process and memory scaling with the expected lazy startup or shared extension-host behavior. Done means extension processes no longer multiply across sessions unnecessarily and unused extensions do not start eagerly.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100