/resume fails after CLI restart on Windows when session event contains raw U+2028
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
## Summary
After restarting GitHub Copilot CLI on Windows, I was unable to resume the previous session because the saved session file appears to be corrupted.
## Environment
- GitHub Copilot CLI: 1.0.24
- OS: Windows
- Shell: PowerShell
## Repro steps
1. Start a Copilot CLI session in a local repository.
2. Do some work in the session.
3. Restart the CLI.
4. Try to resume the prior session using `/resume`.
## Expected
The previous session should be available and resume successfully with its saved context.
## Actual
Resume fails and reports that the session file is corrupted.
## Error shown by the CLI
```text
Failed to resume session: Error: Session file is corrupted (line 9316: SyntaxError: Unterminated string in JSON at position 2716 (line 1 column 2717))
```
## Additional context from local inspection
The process log reported that resume failed while parsing:
- session `a44946c9-5579-44a6-8a75-87fb6d680bf3`
- file `...\\.copilot\\session-state\\a44946c9-5579-44a6-8a75-87fb6d680bf3\\events.jsonl`
- event line `9316`
- event type `hook.start`
I inspected that record locally and found a raw Unicode line-separator character `U+2028` at the reported parse position (`2716`).
Relevant excerpt from the record:
```text
... \n\n## Effects that polish,transform, or break the rules\n\nWith a full suite of effects, FL Studio lets you refine ...
```
The `events.jsonl` file had about 13,351 lines, and this appears to be the only `U+2028` / `U+2029` separator found in the failing record.
## Notes
- I hit this while troubleshooting MCP reload behavior for a local project, but the resume failure itself seems like a standalone CLI issue.
- I was not able to recover the previous session through resume.
贡献指南
调研方向
Start with the /resume path that reads the session-state events.jsonl file, then reproduce the failure using the reported hook.start event containing raw U+2028. Verify that session events with Unicode line-separator characters remain valid JSONL and that the affected session resumes successfully without reporting corruption.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 58/100