Repository navigation
Copilot CLI session file cannot be opened in VS Code Copilot Chat: Invalid 'ephemeral' value literal #2000
Copy link
Copy link
Open
Labels
area:sessionsSession management, resume, history, session picker, and session stateSession management, resume, history, session picker, and session statemore-info-needed
Description
Describe the bug
Bug Summary
When opening a chat session exported/generated by GitHub Copilot CLI in VS Code Copilot Chat extension, the following error occurs and the session cannot be loaded:
Failed to initialize chat session copilotcli:/<session-id>: Session file is corrupted (line 6: ephemeral: Invalid literal value, expected true)
VS Code Copilot Chat cannot open the CLI session. The session file is stored at:
~/.copilot/session-state/<session-id>/events.jsonl
Minimal Repro Session File (events.jsonl excerpt)
{"type":"session.start","data":{"sessionId":"<session-id>","version":1,"producer":"copilot-agent","copilotVersion":"1.0.4","startTime":"2026-03-12T12:36:24.489Z","context":{"cwd":"/path/to/project","gitRoot":"/path/to/project","branch":"main","headCommit":"<commit-sha>","repository":"<repo-name>","hostType":"github","baseCommit":"<commit-sha>"},"alreadyInUse":false},"id":"<uuid-1>","timestamp":"2026-03-12T12:36:24.540Z","parentId":null}
{"type":"user.message","data":{"content":"hi","transformedContent":"<current_datetime>2026-03-12T12:36:30.132Z</current_datetime>\n\nhi\n\n<reminder>\n<sql_tables>No tables currently exist. Default tables (todos, todo_deps) will be created automatically when you first use the SQL tool.</sql_tables>\n</reminder>","source":"user","attachments":[],"interactionId":"<uuid-2>"},"id":"<uuid-3>","timestamp":"2026-03-12T12:36:30.132Z","parentId":"<uuid-4>"}
{"type":"assistant.turn_start","data":{"turnId":"0","interactionId":"<uuid-2>"},"id":"<uuid-5>","timestamp":"2026-03-12T12:36:30.142Z","parentId":"<uuid-3>"}
{"type":"assistant.message","data":{"messageId":"<uuid-6>","content":"Hi! How can I help you today?","toolRequests":[],"interactionId":"<uuid-2>","outputTokens":12},"id":"<uuid-7>","timestamp":"2026-03-12T12:36:33.201Z","parentId":"<uuid-8>"}
{"type":"assistant.turn_end","data":{"turnId":"0"},"id":"<uuid-9>","timestamp":"2026-03-12T12:36:33.201Z","parentId":"<uuid-7>"}
{"type":"session.shutdown","data":{"shutdownType":"routine","totalPremiumRequests":1,"totalApiDurationMs":2753,"sessionStartTime":1773318984489,"codeChanges":{"linesAdded":0,"linesRemoved":0,"filesModified":[]},"modelMetrics":{"claude-sonnet-4.6":{"requests":{"count":1,"cost":1},"usage":{"inputTokens":22344,"outputTokens":12,"cacheReadTokens":0,"cacheWriteTokens":0}}},"currentModel":"claude-sonnet-4.6"},"id":"<uuid-10>","timestamp":"2026-03-12T12:36:36.964Z","parentId":"<uuid-11>"}VS Code Copilot Chat extension reports:
Failed to open chat session: Session file is corrupted (line 6: ephemeral: Invalid literal value, expected true)
Additional Info
- Copilot CLI Version: 1.0.4
- VS Code Copilot Chat Extension Version: 0.39.0
- System: macOS
Technical Analysis
- VS Code expects the field 'ephemeral' in the session file to be a literal true, but Copilot CLI outputs a boolean or other type.
- Session schema validation fails ('Invalid literal value, expected true').
- See contributors: copilotcliSessionService.ts, claudeSessionSchema.ts
Expected
- Copilot CLI and Copilot Chat extension should be compatible in session file formats.
- Copilot Chat should be able to parse all valid Copilot CLI session files.
Actual
- Session files generated by Copilot CLI sometimes cannot be opened in Copilot Chat due to schema validation (literal value mismatch).
Steps to Reproduce
- Generate a session file using GitHub Copilot CLI (version 1.0.4)
- Attempt to open the session file in VS Code Copilot Chat extension (version 0.39.0)
- Observe the error:
Session file is corrupted (line 6: ephemeral: Invalid literal value, expected true)
Workaround
Manually edit the session file ('events.jsonl') to correct the 'ephemeral' value format.
Suggestion
- Make Copilot CLI and Copilot Chat session file schema compatible for 'ephemeral' value types.
- Add schema flexibility or migration logic so session files from CLI are always usable.
Related technical references:
copilotcliSessionService.tsclaudeSessionSchema.tscopilotCLITerminalIntegration.tsreadonlyContentProvider.ts
To reproduce, use the mock session file excerpt and refer to IDE/CLI version info provided.
Affected version
No response
Steps to reproduce the behavior
No response
Expected behavior
No response
Additional context
No response
Reacted by Thomas Boyer, Simon Smithies, Manuel Müller, Johannes Loibl, Alexander Gusak, J, rybeckypav, ideascf, Siddharth Patankar, Sebastian Pigulak and 3 more
Reacted by Christian and J
Metadata
Metadata
Assignees
Labels
area:sessionsSession management, resume, history, session picker, and session stateSession management, resume, history, session picker, and session statemore-info-needed
Activity
patniko commentedon Oct 26, 2026
Thanks for the report. We've shipped fixes in this area since this was filed, and we believe this may now be resolved. Could you retest on the latest release (Copilot CLI v1.0.103) and let us know whether you still see it? If we don't hear back in a couple of weeks, we may close this issue — you can always reopen it.
Triaged as part of a Copilot SDK backlog review, with help from GitHub Copilot.