Summary
When users run /login in the shell UI and choose Kimi Code, the device authorization flow enters a Waiting for user authorization... state that cannot be cancelled with Esc.
Steps to reproduce
- Start the shell UI.
- Run
/login.
- Select
Kimi Code.
- Wait until the CLI shows
Waiting for user authorization....
- Press
Esc.
Actual behavior
The shell stays stuck in the waiting state and does not return to the prompt.
Expected behavior
Esc (and other user interrupt paths such as Ctrl+C) should cancel the OAuth wait loop and return control to the shell prompt.
Root cause
The OAuth device polling loop does not expose a cancel signal, and the shell-level /login flow does not attach the waiting state to the existing interactive cancel handling used by running prompts.
Impact
Users can get trapped in the login flow if they decide not to finish browser authorization immediately.
Summary
When users run
/loginin the shell UI and choose Kimi Code, the device authorization flow enters aWaiting for user authorization...state that cannot be cancelled withEsc.Steps to reproduce
/login.Kimi Code.Waiting for user authorization....Esc.Actual behavior
The shell stays stuck in the waiting state and does not return to the prompt.
Expected behavior
Esc(and other user interrupt paths such asCtrl+C) should cancel the OAuth wait loop and return control to the shell prompt.Root cause
The OAuth device polling loop does not expose a cancel signal, and the shell-level
/loginflow does not attach the waiting state to the existing interactive cancel handling used by running prompts.Impact
Users can get trapped in the login flow if they decide not to finish browser authorization immediately.