-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Type: Bug
Bug Report: GitHub Copilot Chat - Chat History Not Persisting
Date: February 17, 2026
Extension: GitHub Copilot Chat v0.37.6
VS Code Version: 1.109.4 (c3a26841a84f20dfe0850d0a5a9bd01da4f003ea, arm64)
Platform: macOS
Summary
Chat sessions are created and appear in the history panel, but when clicked, they fail to load any content beyond the initial message. Investigation reveals that conversation data is not being persisted to disk properly.
Symptoms
- Chat history appears in sidebar - Multiple chat sessions are listed
- Clicking a chat loads nothing - Only shows initial user message, no responses
- Active sessions work fine - Current conversations display correctly during the session
- Data lost on reload - After closing and reopening chats, conversation content is missing
Root Cause Analysis
Expected Behavior
The extension should persist full conversation history to .jsonl files:
~/Library/Application Support/Code/User/workspaceStorage/{workspace-id}/chatSessions/{session-id}.jsonl
Each line in the .jsonl file should be a JSON object with kind: 0 containing the full session state including all requests/responses.
Actual Behavior
- Minimal persistence: Only the first user message is saved to
.jsonlfiles - Incomplete updates: Files contain multiple lines with
kind: 1(incremental updates) but the lastkind: 0entry only has 1 request - No conversation recovery: Subsequent messages in the conversation are never written to disk
Evidence
File Structure
# Chat sessions directory
~/Library/Application Support/Code/User/workspaceStorage/62d2032e87eaf31c7e5ce7e14dc523b9/chatSessions/Example Session Analysis
Session ID: 7f4a4993-e35e-491e-ad39-59f26788c662
File stats:
$ wc -l chatSessions/7f4a4993-e35e-491e-ad39-59f26788c662.jsonl
29 lines
$ grep '"kind":0' chatSessions/7f4a4993-e35e-491e-ad39-59f26788c662.jsonl | tail -1 | \
jq '.v.requests | length'
1 # Only 1 request saved despite having 4+ exchangesWhat's saved:
- Line 1:
kind: 0- Initial session state with first user message ✓ - Lines 2-29:
kind: 1- Incremental updates (cursor positions, selections) ✓ - Missing: Subsequent conversation exchanges ✗
Editing Sessions
The editing session folder exists and tracks file operations but NOT conversation content:
~/Library/Application Support/Code/User/workspaceStorage/62d2032e87eaf31c7e5ce7e14dc523b9/chatEditingSessions/7f4a4993-e35e-491e-ad39-59f26788c662/
state.json # 205KB - tracks 417 operations
contents/ # Contains file edit operations onlyNote: state.json has 417 timeline operations, but these are file editing operations, not conversation text.
Impact
Data Loss
- Today (Feb 17): Created ~32 chat editing sessions
- Persistent sessions: Only 3
.jsonlfiles created - Saved conversations: Only 1 request per file (first message only)
- Lost data: All assistant responses and follow-up exchanges
Scale of Issue
Across 5 workspace folders:
- 34 total chat sessions found
- 15+ sessions with 0 exchanges saved (empty or first-message-only)
- Largest affected session: 6.9MB
.jsonlfile exists but conversation incomplete
Reproduction Steps
- Open VS Code with GitHub Copilot Chat extension
- Start a new chat session
- Have multiple back-and-forth exchanges (5+ messages)
- Close the chat panel
- Reopen VS Code or click the chat in history
- Expected: Full conversation loads
- Actual: Only first user message appears
Diagnostic Commands
Check your own sessions:
# Find your workspace storage
cd ~/Library/Application\ Support/Code/User/workspaceStorage
# List all chat sessions
find . -path "*/chatSessions/*.jsonl" -exec ls -lh {} \;
# Check a specific session for saved requests
SESSION_FILE="path/to/session.jsonl"
grep '"kind":0' "$SESSION_FILE" | tail -1 | jq '.v.requests | length'
# Should show multiple requests, but likely shows only 1Workaround
Until fixed, manually preserve important conversations:
- Copy text manually from active chat window
- Take screenshots of important exchanges
- Use alternative Claude interfaces for critical work:
- claude.ai web interface
- Claude API directly
- Other Claude Code-compatible editors
Technical Details
File Format Analysis
Correct .jsonl structure:
{
"kind": 0,
"v": {
"version": 3,
"sessionId": "...",
"requests": [
{ "requestId": "...", "message": {...}, "response": {...} },
{ "requestId": "...", "message": {...}, "response": {...} },
...
]
}
}What's actually saved:
- Initial
kind: 0with 1 request ✓ - Multiple
kind: 1updates with UI state ✓ - No updated
kind: 0with additional requests ✗
Empty State Files
Many editing session state.json files found with 0 bytes:
$ wc -l chatEditingSessions/*/state.json
0 state1.json
0 state2.json
...This indicates the extension is creating folder structure but failing to write session data.
System Information
# Extension version
$ code --list-extensions --show-versions | grep copilot
[email protected]
# VS Code version
$ code --version
(run this command and include output)
# macOS version
$ sw_vers
ProductName: macOS
ProductVersion: (your version)Logs
Check for errors in VS Code Output panel:
- View → Output
- Select "GitHub Copilot" from dropdown
- Look for errors related to persistence/storage
Common error patterns to look for:
- JSON serialization errors
- File write permission errors
- Storage quota errors
Requested Fix
- Immediate: Ensure ALL conversation exchanges are written to
.jsonlfiles - Validation: Extension should verify persistence after each exchange
- Error handling: Log errors when persistence fails (currently silent failure)
- Recovery: Provide mechanism to export/recover in-memory chat sessions before close
- Notification: Warn users if conversation data fails to persist
Additional Context
- Issue appears to be recent (older chats from Feb 5-12 have full content)
- May be related to recent extension update
- Affects multiple workspace configurations
- Silent failure - no error messages to user
How to Submit This Report
Option 1: VS Code Built-in Bug Reporter
- In VS Code: Help → Report Issue
- Select "GitHub Copilot Chat" as the extension
- Copy/paste relevant sections from this report
- Include diagnostic command outputs
Option 2: GitHub Issues
- Visit: https://github.com/microsoft/vscode-copilot-release/issues
- Check for existing reports on chat persistence
- Create new issue if none exist
- Include reproduction steps and diagnostic data
Option 3: Extension Marketplace
- Go to extension page in VS Code
- Click "Report Issue" link
- Follow their bug report template
Attachments
Include with bug report:
- VS Code version output
- Extension version
- Sample
.jsonlfile (sanitized) - Output logs showing errors
- Screenshots of empty chat history
Priority: HIGH - Data loss bug affecting all conversations
VS Code version: Code 1.109.4 (Universal) (c3a26841a84f20dfe0850d0a5a9bd01da4f003ea, 2026-02-16T15:35:57.932Z)
OS version: Darwin arm64 24.6.0
Modes: