Enabling (not using) Copilot Chat crash-loops the extension host with a V8 out-of-memory abort
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
## Title
Enabling (not using) Copilot Chat crash-loops the extension host with a V8 out-of-memory abort
## Body
- Copilot Chat Extension Version:
- VS Code Version: 1.128.1 (commit 5264f2156cbcd7aea5fd004d29eaa10209155d66, arm64)
- OS Version: macOS 26.5.2 (Apple Silicon, Mac17,7, 128 GB RAM)
- Feature (e.g. agent/edit/ask mode): none — the extension was enabled but never used (no chat session opened, no model selected)
- Selected model (e.g. GPT 4.1, Claude 3.7 Sonnet): none
- Logs: see below
### Observed facts
**1. The extension host repeatedly exits with code 5.**
From VS Code's main log:
```
[info] Extension host with pid exited with code: 5, signal: unknown.
```
This line recurs every ~13 seconds across multiple sessions.
**2. The exits are V8 out-of-memory aborts.**
macOS DiagnosticReports contain 15 `node` crash reports over ~7 days, all with this signature:
```
SIGABRT / abort() called
node::OOMErrorHandler
v8::internal::V8::FatalProcessOutOfMemory
v8::internal::Heap::CollectGarbage -> FatalProcessOutOfMemory
```
**3. The main extension-host process heap grows to ~5 GB in ~12 seconds, then the process disappears.**
Sampling RSS of `Code Helper (Plugin)` (single PID) with `ps -axo pid,rss,command`:
```
0s : 1210 MB
3s : 2660 MB
6s : 3366 MB
9s : 5076 MB
12s : process gone; an orphaned child is reparented to launchd (ppid=1)
```
Child processes (language servers, etc.) stayed under ~300 MB throughout; the growth was in the main extension host itself.
**4. Disabling the GitHub Copilot Chat extension stops the crash loop; re-enabling reproduces it.**
**5. The repository is git-clean, but Copilot Chat's checkpoint session directories contain pathspec files listing ~9,573 paths each.**
- `git status --porcelain | wc -l` → `0`
- `git ls-files | wc -l` → `15830`
- Multiple `…/globalStorage/github.copilot-chat/vscode-sessions-/pathspec.txt` files each contain ~9,573 lines.
- Those paths include large gitignored build artifacts, e.g. an embedded CPython distribution and a `.tar.gz` bundle under `app/build/.python-bundle-prod/` (git itself ignores these — they do not appear in `git status`).
**6. The extension-host log emits, immediately before each exit:**
```
[Decorations] CAPPING events from decorations provider vscode.git 9575
```
**7. A `git add -A --pathspec-from-file=…/github.copilot-chat/vscode-sessions-/pathspec.txt` process was observed running (visible in VS Code's Process Explorer).**
### Steps to Reproduce
1. Enable the GitHub Copilot Chat extension. Do not open chat, sign into a session, or select a model.
2. Open a large workspace (this one: 15,830 tracked files; git working tree clean).
3. Observe: the extension host heap climbs to ~5 GB within ~12 seconds, the host exits with code 5 (V8 OOM), and restarts — repeating indefinitely.
4. Disable the Copilot Chat extension. The loop stops.
### Workaround
Disabling the GitHub Copilot Chat extension stops the crash loop.
Contributor guide
Assessment
This issue has not been assessed yet.