Restarting actions (update, experimental toggles) don't preserve session
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
### Describe the bug
When I start Copilot CLI, and perform an action that restarts the app (such as update or toggling experimental mode) it does not restart correctly, and gives an error message that the session ID cannot be found:
```
Error: No session, task, or name matched 'b490e4ae-7edc-4d79-bfb0-48a03c10084f'.
To resume by session or task ID: copilot --resume=
To resume by name: copilot --resume=
To name a new session: copilot --name=
To pick from existing sessions: copilot --resume
```
### Affected version
GitHub Copilot CLI 1.0.51-2
### Steps to reproduce the behavior
1. Type `copilot` to start the cli
2. `/experimental on` (or off if you already have it on)
### Expected behavior
Copilot CLI restarts correctly enabling experimental.
What actually happens is the error I listed above.
### Additional context
Logs from the relaunch:
```
2026-05-20T18:32:29.847Z [DEBUG] Sending telemetry event: copilot-cli/extension.activate
2026-05-20T18:32:29.848Z [INFO] Shell completions: no supported shell detected, skipping
2026-05-20T18:32:29.849Z [DEBUG] OpenTelemetry not enabled (resolveOtelConfig returned null)
2026-05-20T18:32:29.881Z [DEBUG] No persisted remote state for session 796be1bf-039a-4cfa-89fb-6dc690047291
2026-05-20T18:32:30.090Z [INFO] Session indexing debug: SESSION_INDEXING=true, repository=333fred/roslyn
2026-05-20T18:32:30.304Z [DEBUG] ExP request: GET https://telemetry.enterprise.githubcopilot.com/telemetry?tas-endpoint=githubdevdiv
2026-05-20T18:32:30.304Z [DEBUG] ExP headers: {"User-Agent":"copilot-cli","X-ExP-SDK-Version":"1","X-VSCode-ExtensionName":"CopilotCLI","X-MSEdge-ClientId":"","x-exp-parameters":"copilottrackingid=,github_copilotcli_cliversion=1.0.51.2,github_copilotcli_prerelease=1,github_copilotcli_audience=microsoft,github_copilotcli_experimentationoptin=0,extensionname=CopilotCLI,github_copilotcli_firstlaunchat=1773187200,github_copilotcli_copilotplan=enterprise"}
2026-05-20T18:32:30.569Z [DEBUG] Sending telemetry event: copilot-cli/cli.telemetry (kind: exp_context_fetch)
2026-05-20T18:32:30.721Z [ERROR] Request to Copilot Task API at https://api.enterprise.githubcopilot.com/agents/tasks/796be1bf-039a-4cfa-89fb-6dc690047291 failed with status 404 (request ID: A8EA:2636CF:65A2510:6D113F7:6A0DFE3E), body: {"documentation_url":"https://docs.github.com/rest","message":"not found"}
2026-05-20T18:32:31.351Z [INFO] No update needed, current version is 1.0.51-2, fetched latest release is v1.0.51-2
2026-05-20T18:32:32.942Z [DEBUG] Fetched 80 remote sessions
```
贡献指南
调研方向
首先跟踪 `/experimental` 操作及其调用的重启路径,然后继续跟踪当前会话 ID 如何传递到重新启动流程中。使用 `/experimental on` 或 `off` 复现,并检查重新启动日志。完成标准是 CLI 使用请求的设置重新启动,并保留活动会话且不出现缺少会话错误。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- shell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100