anthropics / anthropics/claude-code
OAuth sign-in wait screen has no cancel: Esc, Ctrl-C ×2, q, Ctrl-D, Ctrl-Z all leave it unchanged; Enter loops through the error screen
- 主要语言
- Python
- 星标
- 145k
- 派生
- 23.1k
- PR 合并指标
- PR 指标待抓取
描述
**Environment:** Claude Code v2.1.219, Linux, running under tmux in a 40×29 pty (a phone-sized terminal), fresh `CLAUDE_CONFIG_DIR`.
## What happens
During `/login` → OAuth, once the flow reaches the wait screen —
```
Browser didn't open? Use the (c to
url below to sign in copy)
https://claude.com/cai/oauth/authorize?…
Paste code here if prompted >
```
— **no keystroke leaves it.** Measured one key at a time against the live process (screen captured after each input; the pane command instrumented so an exit could not be missed):
| input on the wait screen | result |
|---|---|
| Escape | screen unchanged |
| Ctrl-C ×1 | unchanged |
| Ctrl-C ×2 (Claude Code's own "press again to exit" convention) | unchanged |
| `q` | types into the code field |
| Ctrl-D | unchanged |
| Ctrl-Z | unchanged |
| Enter (empty code) | → "OAuth error: Invalid code … Press Enter to retry." |
| Enter again (retry) | → back to the same wait screen — a closed loop |
| Escape after the retry | unchanged |
`[claude exited]` never printed. The wait screen and its error sibling form a closed loop whose only exits are completing the login or killing the process.
## Why it matters
The login **picker** honors `Esc to cancel`, so a user who chose the wrong login method (or whose browser handoff failed — common when Claude Code runs on a remote host and the browser cannot open) reasonably expects Escape to work one screen later. It doesn't, and nothing on the screen says so. On a remote/mobile terminal this is a dead end: you either finish a sign-in you may not want, or kill the process.
## Ask
Escape (or Ctrl-C) on the OAuth wait screen should cancel back to the login method picker — matching the escape hatch the picker itself already advertises. Failing that, the screen should say what actually exits it.
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start at the /login OAuth flow, comparing the login method picker with the OAuth wait and error screens described in the issue. Trace how Escape and Ctrl-C are handled on each screen, then verify that cancellation returns to the picker and that retry behavior still works without trapping the user in the wait-screen loop.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- linux, python
- 领域
- authentication, cli
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 68/100