VS Code Copilot CLI panel shows empty transcript after Remote-SSH reconnect, though session data is intact on disk
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
Describe the bug
After the local machine is locked (e.g. stepping away briefly) and VS Code's Remote-SSH connection drops and later reconnects, the Copilot CLI chat panel in VS Code shows the current/recent session as empty (no turns), giving the impression that chat history was lost.
This is not actual data loss. I confirmed the underlying data is fully intact:
~/.copilot/session-store.db(SQLite) still contains all turns for the affected sessions in theturnstable, with completeuser_messageandassistant_responsetext.- Running the standalone
copilotCLI in a terminal against the same session shows the full history correctly. - Only the VS Code panel's view of the session appears empty/reset after the reconnect.
This has happened repeatedly (3 times in one day) immediately following machine lock -> SSH reconnect cycles.
Affected version
GitHub Copilot CLI 1.0.80
Steps to reproduce the behavior
- Open a VS Code window connected via Remote-SSH to a remote Linux host.
- Start a Copilot CLI chat/agent session in VS Code and have a multi-turn conversation.
- Lock the local machine long enough for the Remote-SSH connection to drop (observed even after a short lock).
- Unlock the machine and let VS Code reconnect to the remote host.
- View the Copilot CLI chat panel for the session that was active before the lock.
- See: the panel shows an empty/reset transcript, even though
~/.copilot/session-store.dbon the remote host still has all turns for that session (verified directly viasqlite3 ~/.copilot/session-store.db "SELECT * FROM turns WHERE session_id='<id>'"), and the standalonecopilotterminal CLI shows the full history for the same session.
Expected behavior
After a Remote-SSH reconnect, the VS Code Copilot CLI panel should reload the session transcript from the on-disk store (~/.copilot/session-store.db), the same way the standalone terminal copilot CLI does, instead of showing an empty/reset conversation.
There appears to be a stale or invalidated in-memory/cache state on the VS Code extension/agent-host side (possibly related to ~/.copilot/vscode.session.metadata.cache.json) that isn't correctly rehydrated from the durable on-disk session store after a connection drop.
Additional context
- Operating system (remote host): Ubuntu 24.04.4 LTS (Noble Numbat)
- Connection type: VS Code Remote-SSH
- Integration: VS Code "agent host" plugin (
agent-host-copilotcli) - Impact: Users mistakenly believe their conversation history and context are lost after every lock/reconnect cycle, disrupting long-running remote development work, even though no data is actually destroyed.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere die Lock- und Remote-SSH-Wiederverbindungssequenz und vergleiche anschließend den Zustand des VS Code-Panels mit ~/.copilot/session-store.db und ~/.copilot/vscode.session.metadata.cache.json; die eigenständige copilot CLI und die sqlite3-Abfrage liefern die Basis für die intakte Historie. Erledigt ist die Aufgabe, wenn das VS Code Copilot CLI-Panel nach der Wiederverbindung die Turns der betroffenen Sitzung erneut lädt, statt ein leeres Transkript anzuzeigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- shell, sqlite, vscode
- Bereich
- cli, desktop, developer-experience
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100