github / github/copilot-cli

[CLI] copilot --resume "Name With Spaces" fails silently with exit 1

未关闭
#3,754 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
area:sessions
主要语言
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`
Image

But with just `copilot --resume`:
Image

```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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。