Chat session history randomly disappears from the Chat panel when the workspace folder is on a NAS (UNC path)
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
**Type of issue:** Bug
**VS Code version:** 1.133.0 (x64) — observed across recent 1.12x–1.13x versions
**OS version:** Windows 11 Home 10.0.26200
**Steps to reproduce:**
1. Open a workspace folder located on a NAS via a UNC path, e.g.
2. Use the Chat panel normally over several days so sessions accumulate (stored in `%APPDATA%\Code\User\globalStorage\github.copilot-chat\session-store.db` and per-workspace `workspaceStorage\\state.vscdb`).
3. At random intervals (observed: every few days), reopen the same folder — the Chat history panel is empty or shows only a subset of the sessions.
**Actual behavior:** Sessions disappear from the Chat history UI at random intervals when the workspace is on a NAS. The data is **not deleted**: the SQLite stores on disk still contain all sessions, and they can be fully recovered by merging the `chat.ChatSessionStore.index` from another workspaceStorage folder into the current one. Investigation showed the same physical NAS folder had been assigned different `workspaceStorage` hashes over time (`d04b0ded6d4405b53bbedxxxxxxx` vs `d92c9503309f26060f5107xxxxxxxxx`), i.e. the workspace identity changed even though it is the same folder. Suspected root cause: how/when the UNC path is resolved (UNC vs mapped drive, hostname vs IP, NAS briefly unreachable at startup) changes the workspace identity, and each identity gets its own per-workspace chat store — so history appears to "vanish" from the UI while still existing on disk under the other hash.
**Expected behavior:** The same physical folder on a NAS should always resolve to the same workspace identity and the same chat session store, regardless of mount state or path spelling.
**Additional context:** Reproduced with the built-in Copilot/chat feature of VS Code 1.133 (bundled, no separate extension). Chat session sync (`chat.sessionSync.enabled`) is not involved — it is experimental and no cloud sync occurs in this scenario.
Contributor guide
Assessment
This issue has not been assessed yet.