Summary
Today /chronicle (and the underlying session_store_sql, /resume, /research, /search) only index sessions produced by the Copilot CLI itself — the local ~/.copilot/session-state/ store plus the cloud session store. Conversations conducted in VS Code Copilot Chat are invisible to /chronicle, even when they happen on the same machine, same user, and same repository.
Meanwhile the inverse direction already works: VS Code Copilot Chat enumerates Copilot CLI sessions via CopilotCLIChatSessionContentProvider.listSessions and surfaces them in the Chat Sessions view (see #3652, microsoft/vscode#318126, #311405, #310933, and #3740). Closing the loop would give users a single, unified history across both surfaces.
Use case
I move fluidly between copilot in the terminal and Copilot Chat in VS Code on the same repo throughout the day. When I later ask /chronicle "what was I working on this week in repo X?" or use session_store_sql / /research to retrieve prior approaches, half of my actual history is missing because it lived in VS Code Chat.
Proposal
Extend the /chronicle indexer (and the session_store_sql backend) to optionally ingest VS Code Copilot Chat transcripts in addition to the CLI's own sessions:
- Discover VS Code Copilot Chat session storage on disk (workspaceStorage / globalStorage chat transcript files; exact path/schema owned by
microsoft/vscode-copilot-release — companion issue may be needed there to stabilize/document it).
- Normalize each VS Code chat session into the same row shape currently used in the session store (
sessions, turns, events, session_files, session_refs, etc.), with a source column distinguishing cli vs vscode-chat.
- Make ingestion opt-in via a setting (e.g.
chronicle.sources = ["cli", "vscode-chat"]) and respect any existing local-only / cloud sync preferences.
- Surface the new source in
/chronicle insights, /resume pickers, /research, and session_store_sql query results.
Why the CLI repo
/chronicle, the session-store schema, and the indexer all live in github/copilot-cli. The @github/copilot SDK doesn't own these surfaces, and VS Code Copilot Chat already reads CLI sessions — so the missing half of the integration is naturally a CLI-side change. A companion issue in microsoft/vscode-copilot-release to expose a stable on-disk transcript location may be useful but is secondary.
Related issues
Acceptance criteria
Summary
Today
/chronicle(and the underlyingsession_store_sql,/resume,/research,/search) only index sessions produced by the Copilot CLI itself — the local~/.copilot/session-state/store plus the cloud session store. Conversations conducted in VS Code Copilot Chat are invisible to/chronicle, even when they happen on the same machine, same user, and same repository.Meanwhile the inverse direction already works: VS Code Copilot Chat enumerates Copilot CLI sessions via
CopilotCLIChatSessionContentProvider.listSessionsand surfaces them in the Chat Sessions view (see #3652, microsoft/vscode#318126, #311405, #310933, and #3740). Closing the loop would give users a single, unified history across both surfaces.Use case
I move fluidly between
copilotin the terminal and Copilot Chat in VS Code on the same repo throughout the day. When I later ask/chronicle"what was I working on this week in repo X?" or usesession_store_sql//researchto retrieve prior approaches, half of my actual history is missing because it lived in VS Code Chat.Proposal
Extend the
/chronicleindexer (and thesession_store_sqlbackend) to optionally ingest VS Code Copilot Chat transcripts in addition to the CLI's own sessions:microsoft/vscode-copilot-release— companion issue may be needed there to stabilize/document it).sessions,turns,events,session_files,session_refs, etc.), with asourcecolumn distinguishingclivsvscode-chat.chronicle.sources = ["cli", "vscode-chat"]) and respect any existing local-only / cloud sync preferences./chronicleinsights,/resumepickers,/research, andsession_store_sqlquery results.Why the CLI repo
/chronicle, the session-store schema, and the indexer all live ingithub/copilot-cli. The@github/copilotSDK doesn't own these surfaces, and VS Code Copilot Chat already reads CLI sessions — so the missing half of the integration is naturally a CLI-side change. A companion issue inmicrosoft/vscode-copilot-releaseto expose a stable on-disk transcript location may be useful but is secondary.Related issues
CopilotCLIChatSessionContentProvider.listSessions/chronicleindexer issuesAcceptance criteria
/chronicleinsights for repo X.session_store_sqlcanSELECT ... WHERE source = 'vscode-chat'and join VS Code turns alongside CLI turns.