[CLI] copilot --resume "Name With Spaces" fails silently with exit 1
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
## Summary
`copilot --resume ""` fails with exit code 1 and no output whenever `` contains spaces, even when the name is an exact, case-correct match for an existing session created via `--name`. Names without spaces (e.g. kebab-case) resolve correctly.
This contradicts the documented usage in `copilot --help`:
```
# Resume a session by name
$ copilot --resume="my feature"
```
That example cannot work today.
## Version
- Copilot CLI **1.0.61**
- Windows 11, PowerShell 7
- Launched via the `agency` wrapper (the standard Windows install)
## Reproduction
Resuming with the command copilot provides after `/exit`
But with just `copilot --resume`:
```powershell
# 1. Create a session with a spaced name
copilot --name "Spaced Name Session" -p "echo init" --allow-all-tools --no-ask-user
# exit 0, session created. workspace.yaml shows: name: Spaced Name Session
# 2. Resume by that exact name
copilot --resume "Spaced Name Session" -p "echo go" --allow-all-tools --no-ask-user
# Observed: exit 1, no stdout, no stderr.
```
Control (changes only one variable — removing the spaces):
```powershell
copilot --name "UnspacedSession" -p "echo init" --allow-all-tools --no-ask-user
copilot --resume "UnspacedSession" -p "echo go" --allow-all-tools --no-ask-user
# Observed: exit 0, session resumes correctly.
```
Both `--resume "Name"` and `--resume="Name"` forms fail identically for the spaced case. Failure also reproduces against a real long-running session whose `name` contains spaces.
## Expected
Either:
1. Spaced names resolve correctly (matching the documented example), OR
2. The CLI emits a clear error explaining the lookup failed and exits non-zero.
Current silent exit with no diagnostic output sends users down the wrong debugging path: shell quoting, terminal lock, session in-use, version skew. Each of those is a plausible suspect for an exit-1-with-no-output failure.
## Workarounds (none acceptable as a fix)
- `copilot --resume <7-char-id-prefix>` works but defeats the purpose of friendly names
- `copilot --resume` (interactive picker) works but requires UI interaction
- Rename to kebab-case works but loses readability
## Why this matters
The documented and expected workflow for users who name sessions with descriptive labels (the example in `--help` is literally `"my feature"`) is broken. Every user who follows the docs hits a wall. The silent failure mode multiplies the cost.
贡献指南
调研方向
从 `copilot --resume` 入口开始,在 PowerShell 中复现文档记录的名称带空格的情况,同时复现不带空格的对照情况。跟踪名称查找过程,并验证带空格的名称要么能够成功恢复,要么产生明确的诊断,而不是静默退出并返回 exit 1。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell, shell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 描述清楚
- 新手友好度
- 58/100