github / github/copilot-cli

Copilot CLI leaves behind orphaned session-state scaffold folders during aborted or incomplete session initialization/resume.

Offen
#2,836 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:sessions
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### Describe the bug

Copilot CLI leaves behind orphaned session-state scaffold folders during aborted or incomplete session initialization/resume.

These folders appear under ~/.copilot/session-state and contain minimal scaffold files like workspace.yaml, checkpoints/index.md, and empty checkpoints/, files/, and research/ directories, but they do not contain real session data like events.jsonl or session.db.

This causes the on-disk session corpus to diverge from what appears in copilot --resume.

### Affected version

1.0.32

### Steps to reproduce the behavior

1. Use Copilot CLI on Windows.
2. Start or attempt to resume sessions repeatedly, including cases where session startup/resume does not fully complete.
3. Inspect ~/.copilot/session-state.
4. Observe folders that contain workspace.yaml, checkpoints/index.md, and empty checkpoints/, files/, and research/ directories.
5. Observe that these folders do not contain events.jsonl or session.db.
6. Run copilot --resume and compare the visible sessions to the folders on disk.
7. See that extra scaffold folders exist on disk but are not real resumable sessions.

### Expected behavior

Session folders should only be created once initialization is durable and valid, or they should be cleaned up automatically if startup/resume aborts or fails.

### Additional context

Environment:
- Windows
- GitHub Copilot CLI 1.0.32

Observed in local session corpus:
- Multiple scaffold-only folders with summary_count: 0
- Scaffold folders contain workspace.yaml and empty directories only
- Real sessions contain events.jsonl and often session.db
- A fresh scaffold folder was created during inspection of sessions via --resume
- There was also one corrupted old session with events.jsonl but missing workspace metadata, which is a separate issue from the scaffold folders

Suggested fix:
- Delay session directory creation until first durable write, or
- create in a temp location and promote atomically, or
- automatically clean up scaffold-only folders on failed initialization

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Sitzungsinitialisierung und das Fortsetzungsverhalten unter Windows nachzuverfolgen, und untersuche anschließend, wie Ordner, die nur aus einem Gerüst bestehen und workspace.yaml sowie checkpoints/index.md enthalten, erstellt werden. Als erledigt gilt die Aufgabe, wenn ein abgebrochener oder unvollständiger Start keine Ordner mehr ohne events.jsonl oder session.db hinterlässt und gültige Sitzungen über copilot --resume weiterhin sichtbar und fortsetzbar sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.